Transferer des données d'une feuille a l'autre

  • Initiateur de la discussion Initiateur de la discussion gorghrom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gorghrom

XLDnaute Junior
Bonjour à tous,

Voici mon problème,
Je souhaiterais pouvoir réaliser une macro me permettant de transferer des données d'une feuille excel à une autre. Je m'explique, tous les mois, je dois synthètiser des données remplies sur une feuille excel simple et les compiler pour en faire un tableau de suivi annuel.(mettre a dispo le tableau complet est trop compliqué en raison de nombreuses variable différentes).

Je souhaite donc pouvoir transferer en automatique (avec une macro, j'ai essayé avec des formules simples de lien (index, recherchev ....)mais c'est trop lourd) les données d'une feuille vers une autre en fonction du mois en cours. puis effacer les données de la feuille 1 pour avoir de nouveau un formulaire vierge.

Pour eclaircir la chose je joint un fichier plus pertinent.

Merci par avance de votre aide préciseuse.
 

Pièces jointes

Re : Transferer des données d'une feuille a l'autre

Bonjour gorghrom,

Ma foi ... si je ne m'abuse et en fonction du niveau de complexité (à ma portée 😀) de ton fichier, voici une proposition de "base". Il conviendra de l'adapter à ta réalité et, le cas échéant, y ajouter des contrôles supplémentaires.
 

Pièces jointes

Re : Transferer des données d'une feuille a l'autre

Génial,
c tout a fait ca que je souaitais !
En regardant la macro et si je comprend bien , elle prend en compte des valeurs de colonne et lignes fixes D6, D7, D8. Est il possible de modifier cela en reperant les valeur a transférer en fonction du nom inscrit dans la colonne précédente :
exemple, je voudrais transférer la valeur a droite de la case ou est inscrit "Valeur A" (sans que cela prenne en compte une ref de cellule) etc... de manière a garder plus de souplesse. Ca permettra de modifier le formulaire sans pour autant modifier toutes les références de cellule dans la macro.

Merci par avance
 
Re : Transferer des données d'une feuille a l'autre

Bonjour,

Je me disais aussi que c'était trop simple 🙄 ... mais il faudrait que tu sois plus précis: c'est toujours "Valeur A (ou B ou C)" qu'il faut rechercher, mais tu parles de la feuille "Formulaire" ou "Synthèse"? Est-ce qu'au moins la plage à explorer peut être précisée? (j'imagine que la recherche n'est pas à faire dans toute la feuille?) Si c'est le cas, tu peux utiliser le find comme pour la recherche du mois, dans la plage nommée.
Quant à
transférer la valeur a droite de la case ou est inscrit "Valeur A"
... il suffit d'utiliser offset(0,1), comme illustré dans le code (pour un décalage de lignes).

Pour ma part, je ne vois pas trop comment donner d'autres indications, sans infos complémentaires de ta part.
 
Re : Transferer des données d'une feuille a l'autre

Bonjour,

effectivement il faudrait rechercher dans une plage de donnée quelconque (ex : C5😀20) les références des valeurs fixes (valeur A,B,C) mais qui n'ont pas toujours la meme place dans la plage de donnée fixée. et transférer les données à droite des ces nom de valeurs.

Par contre, pour ma culture perso (et combler mes carences en visual basic), dans ta macro, je ne vois pas la commande qui transferts les donnée sdans la feuille synthèse : est-ce "Set c = Range("MOIS").Find(what:=.[D4].Value, lookat:=xlWhole), je ne pensais que cette fonction allait chercher les données en dessous du mois en D4.

Merci encore de ton aide
 
Re : Transferer des données d'une feuille a l'autre

Bonjour,
J'ai mis en application ce que tu m'as transmis, mais je me heurte à un nouveau problème : en plus du "mois", il a fallu que j'introduise une nouvelle donnée "site" qui renvoi a d'autre tableau.
De plus les valeurs des différentes valeur "valeur A, B et C", ne sont pas forcément chronologique , il y a des variables avec des nom différents.
Je sais ca devient un peu compliqué. (cf fichier joint)

Et puis je doit etre un peu neuneu, mais je ne comprend pas dans tes formules la commande qui fait référence à la feuille "synthèse" d'habitude, il y a une formule du genre "Sheets("nom de la feuille")". et comme je n'aime pas ne pas comprendre......

Merci encore pour ton aide.(et toutes mes félicitations, balèze qd meme en VBA!!)
 

Pièces jointes

Re : Transferer des données d'une feuille a l'autre

Bonsoir gorghrom,

Je ne vois (à ce stade de tes explications) rien d'insurmontable dans les nouvelles contraintes: un ajout à droite, une adaptation à gauche devraient faire l'affaire (tu noteras l'utilisation prudente du conditionnel 😛)
Une précision me paraît nécessaire cependant: la structure de chacun des tableaux dans la feuille "synthèse" sera-t-elle chaque fois absolument identique? Le nom de la ville en colonne A ... 2 lignes plus bas, les mois (de B à M), puis toujours le même décalage de lignes ensuite pour les "HCP", "JUI" & "KOL" ?

Quant à:
gorghrom à dit:
balèze qd meme en VBA!!)
... et bien, celle-là, on ne me l'avait jamais faite ... une jument de ma connaissance se serait contentée de hennir un "HIARA! HIARA! HIARA!" franchement goguenard et néanmoins hilare!

Pour ce qui est de ton interrogation concernant l'absence de référence à la feuille "synthèse", cette référence se fait de manière implicite, au niveau de:
Code:
Set c = Range("MOIS").Find(what:=.[D4].Value, lookat:=xlWhole)
... 'c' est un objet 'Range' dont l'adresse (si la valeur est trouvée) est l'adresse de la cellule qui contient ladite valeur ... celle-ci se trouvant dans la plage nommée "MOIS", elle-même faisant référence à ... la feuille "Synthèse". Suis-je clair, là ??
 
Re : Transferer des données d'une feuille a l'autre

Bonjour modeste

"Une précision me paraît nécessaire cependant: la structure de chacun des tableaux dans la feuille "synthèse" sera-t-elle chaque fois absolument identique? Le nom de la ville en colonne A ... 2 lignes plus bas, les mois (de B à M), puis toujours le même décalage de lignes ensuite pour les "HCP", "JUI" & "KOL"

Oui la structure dans la feuille synthèse sera concervée, au pire je décalerais les "adresses" (ca je crois savoir faire 🙂 ), j'ai a reproduire plusieurs fois ce principe de transfert sur des tableaux différents mais qui garderons les structure constante (meme si qq peu différente d'un type de tableau a l'autre), j'essayerais d'adapté mois meme.

Pour ce qui est de ton interrogation concernant l'absence de référence à la feuille "synthèse", cette référence se fait de manière implicite, au niveau de:
Code:
Set c = Range("MOIS").Find(what:=.[D4].Value, lookat:=xlWhole)... 'c' est un objet 'Range' dont l'adresse (si la valeur est trouvée) est l'adresse de la cellule qui contient ladite valeur ... celle-ci se trouvant dans la plage nommée "MOIS", elle-même faisant référence à ... la feuille "Synthèse". Suis-je clair, là ??

Ahhhh OK j'a tout compris 🙂... enfin jusqu'a la prochaine fois 🙂.
 
Re : Transferer des données d'une feuille a l'autre

Bonjour gorghrom,

Compte-tenu des éléments de réponse fournis, j'ai repris ton dernier fichier et ai procédé à quelque modifications. J'ai utilisé une autre méthode pour identifier les ligne et colonne de la cellule où recopier l'info.

Dis-nous si tu t'y retrouves, si ça fonctionne ... et puis, sait-on jamais, quelqu'un passera peut-être par ici, avec une autre idée?
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
179
Retour