Copie de données dans un autre classeur dans l'onglet du mois en cours

Bonjour à tous.

Pouvez-vous m’aider s’il vous plaît ? J’ai trouvé pas mal d’informations sur le net, mais lorsque j’assemble les codes, j’ai à chaque fois des erreurs et n’arrive pas à les résoudre.

Le fichier « FICHE INTERVENTION.xlsm » va :

  1. Créer un fichier individuel avec le numéro et le nom de la fiche dans un dossier « TRAVAUX 2021 »
  2. Complète le tableau « HEURES VENDUES.xlsm » avec informations copiées.

Problème que je rencontre :

  1. Sur le fichier « Heures vendues 2021.xlms », il y a plusieurs onglets pour chaque mois de l’année. J’aimerais qu’il copie les informations du fichier, suivant le mois en cours et non pas par défaut dans la feuille « JAN », par exemple aujourd’hui, les enregistrements se feraient automatiquement sur l’onglet « MAI ».

  2. Que le prochain enregistrement passe automatiquement à la ligne vide suivante, pour éviter qu’il écrase le précédent enregistrement.

  3. Enfin, lorsque je reprends la fiche enregistrée dans l’exemple : « 05-0001-DUPONT.xlsm » pour y compléter les travaux effectués et que les heures changent, je valide avec « Retour ligne verte ». Il faudrait qu’il recherche dans le tableau « Heures vendues 2021.xlsm », la ligne « 05-0001-DUPONT» pour la remplacer avec les nouvelles informations.

Je remercie d’avance toutes les personnes qui pourraient m’aiguiller ou m’apporter de l’aide.
FICHE INTERVENTION.xlsm (52,1 Ko) HEURES VENDUES 2021.xlsm (264,0 Ko)

Bonjour

Ci-joint ton fichier « FICHE INTERVENTION.xlsm » adapté

J’ai créé un onglet « Paramètres » dans lequel en cellule A2 doit figurer le nom de ton fichier cible à alimenter
Celui-ci doit être ouvert avant l’exécution du traitement
Un message sera donné si ce n’était pas le cas avec arrêt du traitement

Onglet « Données » le traitement pour l’instant ne recopie que la ligne 3
Si d’autres lignes qui suivent doivent pouvoir être recopiées aussi il faudrait nettoyer les données présentes qui n’ont aucun lien avec le fichier à enrichir

Merci de me dire

Le bouton « Recopie » scrute dans le fichier cible onglet du mois en cours la présence ou non de la référence à traiter colonne A « N° INTERV. »
Détermine sa ligne ou à défaut la première ligne libre et recopie toutes les données pour l’instant de la ligne 3 colonne A à colonne L sur celle-ci

Cliques sur ce bouton puis regardes le résultat dans le fichier cible onglet du mois en cours

Testes et dis moi

FICHE INTERVENTION.xlsm (58,4 Ko)

Bonjour FFO !

Un grand merci pour ta solution, cela fonctionne parfaitement !!!

Toutes mes excuses pour le délai de réponse, mais ton mail est tombé dans ma boîte spams ! Et j’étais sur un autre tableau…

  • la copie des informations se fait bien dans l’onglet du mois en cours, j’ai changé la date système et la copie ne se faisait pas parce que les noms des onglets correspondant au mois de l’année étaient raccourcis ex. JAN au lieu de JANVIER, mais dès qu’ils sont nommés en entier cela fonctionne !!!

  • Si je mets à jour les heures de la « Fiche intervention » et que je valide, les heures sont également mises à jour dans le tableau, il ne créer pas un nouvel enregistrement si celui-ci est déjà existant ça c’est vraiment TOP !!!

Seul souci, c’est qu’il me copie les infos à la fin du tableau sur la ligne 250 !?* Ce que je ne comprends pas c’est que le premier tableau que je t’avais fourni ce problème était inexistant. Aurais-tu une idée ?

Puis-je encore te solliciter pour une autre chose ? Tu trouveras ci-joint les fichiers qui ont évolués.

Fichier « Fiche intervention » Onglet « Données ». Le numéro d’intervention est généré automatique, suivant le mois en cours ex. 01 pour JANVIER, 02 pour FÉVRIER, … et un numéro d’ordre, par défaut -0001, si celui-ci n’est pas connu, sinon on rajoute 1 au dernier trouvé.

Ma formule fonctionne, cependant, je n’ai pas trouvé comment n’en faire qu’une seule étant variable suivant le mois en cours. Tu trouveras le complément d’information dans le fichier.

Je te remercie une nouvelle fois pour ton aide.

FICHE INTERVENTION.xlsm (89,7 Ko)
HEURES VENDUES 2021.xlsm (388,5 Ko)

Bonsoir

Effectivement je t’avais complètement oublié un tel délai pour répondre mes neurones étaient déjà passés à autre chose
Ravi de ces bonnes nouvelles

Pour ton problème de recopie tu as certainement rajouté dans le fichier cible un tableau défini dans l’onglet
J’utilise une ligne d’instruction qui détermine la première ligne vide à partir du bas de la colonne C jusqu’à la première cellule non vide en remontant
Cela fonctionne parfaitement sauf si un tableau est paramétré ce qui a pour inconvénient pour ce traitement de fausser cette détection qui détermine la première ligne après la dernière de ce tableau
car celles de celui-ci sont considéré comme non libres
D’où ta problématique
J’ai changé de ligne de code pour arriver j’espère à la bonne ligne à utiliser
Seul impératif que toutes les cellules colonne C en amont de cette ligne soient toutes avec une donnée donc aucune soient vides

J’espère que cette condition est effective et sera stable

Ci-joint donc ton fichier adapté ainsi

Testes et dis moi

La prochaine fois pour plus de facilité transmet moi un fichier qui soit exploitable directement en affichage normal (pas de plein écran avec les entêtes de lignes et colonnes affichés) car c’est une perte de temps que de devoir tout remettre en place pour pouvoir intervenir

Pour ta toute dernière demande je regarde cela demain soir voir après demain car je suis en déplacement toute la journée
Je te répond dés que possible

Testes déjà la correction concernant la ligne de recopie

Fais moi un retour

FICHE INTERVENTION.xlsm (89,5 Ko)

Bonjour FFO,

Ouaaaa, ça marche super !!! Je suis déjà trop content de ce que tu as fait.
Je te remercie mille fois !

Pour mon deuxième problème, ça ira pour moi quand tu pourras, je suis déjà tellement content que tu puisses m’aider…

OK pour la mise en affichage normal et désolé, je ne savais pas… Les utilisateurs finaux, ne sont pas doués en informatique, donc j’ai pour mission que cela soit le plus simple possible avec le moins de boutons et éléments perturbants qu’il est possible pour ne pas les braquer !

Alors à plus tard…

Bonjour

Merci pour ce retour

Pour ta formule sous tes explications en cellule E21 je t’ai mis celle à utiliser en remplacement du MOIS en cours
Pour JUIN dans la formule globale remplace ce nom dans toute celle-ci par ma formule en cellule E21 qui déjà te donne cette donnée en majuscule

Je ne peux le réaliser à ta place car ta formule fais appel à un chemin que je n’ai pas et donc à mon intervention dans cet esprit tombe en erreur de ce fait

Je te laisse oeuvrer à ma place

Tu peux aussi laisser ma formule en cellule E21 ou la rapporter dans une autre cellule de ton choix et faire appel à elle dans ta formule

Je peux aussi intégrer cette option dans le traitement

A toi de voir

Ton fichier ci-joint

FICHE INTERVENTION.xlsm (89,7 Ko)

Excuse-moi FFO, je me suis mal exprimé, cela ne fonctionne pas chez moi ou je m’y prends mal…

Dans l’onglet «Données » la formule en D7 (06-0010) :

=SI(ESTNA(RECHERCHEV(« Z^Z »;'G:[HEURES VENDUES 2021.xlsm] JUIN '!$C$7:$C$250;1));TEXTE(AUJOURDHUI();« MM »)&"-0001";TEXTE(AUJOURDHUI();« MM »)&"-"&TEXTE(STXT(RECHERCHEV(« Z^Z »;'G:[HEURES VENDUES 2021.xlsm] JUIN '!$C$7:$C$250;1);4;4)+1;« 0000 »))

JUIN correspond aujourd’hui au mois en cours, mais le mois prochain il changera automatiquement en JUILLET, c’est cette info qui doit-être variable

Lorsque je remplace JUIN par E21 , il m’ouvre une fenêtre en me demandant de choisir la feuille JUIN du fichier « HEURES VENDUES 2021 » et remplace E21 par JUIN….,

Lorsque je remplace directement JUIN par la formule et non E21, j’ai un message d’erreur.

Le problème est que la variable se trouve à l’intérieur de la valeur du fichier cible.

Ce que je souhaite faire, c’est que la formule aille chercher automatiquement le dernier enregistrement de l’onglet du mois en cours dans le fichier « HEURES VENDUES 2021 »

Merci pour ton aide.

Pas simple ton affaire !!!
Je te propose cette solution ci-jointe

J’ai rajouté un onglet « Onglets » dans lequel colonne A j’ai listé en majuscule tous les mois de l’année et en colonne B pour chacun la fameuse formule avec le mois en correspondance
Puis onglet « Données » en cellule E14 une formule qui en fonction du mois en majuscule du jour va rechercher la bonne ligne colonne B onglet « Onglets » pour récupérer la valeur correspondant à celui-ci

Ainsi de contourner le problème de l’onglet mois dans la formule qui calcule le numéro d’intervention

Plus besoin de le mettre à jour en fonction du mois en cours il suffit de la récupérer sur la bonne ligne dans l’onglet « Onglets » en colonne B

J’espère que cela te convient

Regardes et dis moi

FICHE INTERVENTION.xlsm (91,6 Ko)

Re FFO,

Ouuuu, alors ça c’est tordu mais bougrement intelligent !!! :woozy_face:

La gymnastique du cerveau, je ne te dis pas, franchement, je ne pense pas que j’y serais parvenu sans ton aide, je ne voyais absolument pas comment contourner le problème…

J’ai changé la date système pour voir s’il prenait bien en compte l’information et ça marche trop bien !!!

C’est vrai que ce n’était pas simple, en même temps si ça l’était, cela ne serait pas si drôle… Et quelle satisfaction du dois ressentir… Trop fort.

Alors encore encore une fois mille mercis pour le temps que tu y as passé ! Ta proposition me convient parfaitement !

À bientôt pour d’autres problèmes tordus ?! :wink:

Merci pour ta réponse
J’espère que tout ira bien avec cette solution
N’hésites pas pour toute difficulté
N’oublies pas de valider ma réponse un plus appréciable
Au plaisir de dialoguer à nouveau avec toi
A bientôt peut être

1 J'aime

Re FFO,

Désolé, il n’aura pas fallu attendre longtemps avant que je revienne vers toi !

Juste un petit souci, sur le fichier « Fiche intervention » ton bouton « Recopie » présent sur la feuille « Données » fonctionne très bien.

Cependant, lorsque j’attribue ta macro à mes boutons « Valider », sur les deux feuilles « Fabrication et Sablage peinture » cela ne fonctionne pas.

Pourrais-tu à nouveau m’aider ?

Merci beaucoup.
Bonne soirée.

Bonjour

« Cependant, lorsque j’attribue ta macro à mes boutons « Valider », sur les deux feuilles « Fabrication et Sablage peinture » cela ne fonctionne pas. »

Ma macro à été conçu pour fonctionner avec la feuille de mon bouton Recopie active à l écran
Si tu veux l exécuter à partir d une autre feuille cela ne fonctionnera pas
Pourquoi à partir d un autre onglet et non pas celui de mon bouton ?
Que cherches tu à faire ?

Merci de m eclairer sur tes intentions quant l utilisation d une autre feuille avec mon traitement

Je viens de regarder ton fichier
Mon bouton « Recopie » intègre dans le fichier « HEURES VENDUES 2021.xlsm » la ligne ci-après en jaune de l’onglet « Données » :

Lorsque tu actives celle-ci à partir de l’onglet « SABLAGE-PEINTURE » ou « FABRICATION » elle recopie la même ligne même cellules mais de l’onglet utilisé :

Autant dire que ces données n’on rien à voir avec celles à intégrer dans le fichier cible

J’ai modifié le code pour utiliser systématiquement les cellules ligne 3 de l’onglet « Données » quelque soit celui à partir duquel il est activé

Ce n’était pas là non plus une de tes exigences initiales
Difficile donc sans le savoir de prendre en compte cet impératif

J’ai testé cela fonctionne

Essaies de ton côté et dis moi
FICHE INTERVENTION.xlsm (93,8 Ko)

Bonjour FFO,

Effectivement, je m’en suis aperçu que lorsque j’ai voulu affecter ta macro à mon bouton, pour moi, normalement, je pouvais le faire, je me suis trompé et je ne te l’avais pas précisé au départ, désolé.

Encore une fois cela fonctionne parfaitement. Merci beaucoup.
Bon dimanche !

Et oui d où l intérêt de bien cerner tous ses besoins et de bien les exposer dans les moindre detailles sinon les déconvenues en sont à la clé
Que cela serve d expérience pour les prochaines aventures
Au plaisir de te retrouver