XL 2013 Macro simple de consolidation d'onglets qui ne fonctionne pas

  • Initiateur de la discussion Initiateur de la discussion Chrystel01
  • 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 !

Chrystel01

XLDnaute Occasionnel
Bonjour,

J'ai créé une petite macro pour consolider des ongletset mettre les données dans l'onglet consolidation.

Le nombre d'onglets varie.
Le nombre de colonnes peut varier mais est toujours le même entre les onglets
Le nombre de lignes peut varier

Ma macro bug mais je ne comprends pas pourquoi. Je cherche depuis un moment sans succès.
Pourriez-vous m'aider svp à la finir ? Je vous joints le fichier pour être plus claire.

Je vous remercie par avance pour votre aide.

Chrystel
 

Pièces jointes

Bonjour @Phil69970,
Bonjour le Forum,

Il n'existe pas de feuille nommée "compteur_feuille"

J'avais juste créer un compteur qui prend l'onglet 2 jusqu'au dernier onglet
For compteur_feuille = 2 To ActiveWorkbook.Sheets.Count

Donc cela revient à copier sheets(2) puis sheets (3)... dans la base de consolidation.

En tout cas, c'est ce que je souhaiterais faire...

Merci de votre aide
 
Re,

Merci beaucoup @Phil69970. C'est extra ! exactement ce qu'il me fallait. 🙂
Je suis novice, donc je n'aurais pas sur la faire moi même mais j'apprends en essayant de comprendre ton code

Afin que j'apprenne de mes erreurs et puisse refaire des programmes par moi-même , saurais -tu par hasard me dire ce qui n'allait pas dans mon code ?

Un grand merci encore pour ton aide très précieuse !!!!
 
@Chrystel01

Tu as en fait plusieurs erreurs

1 erreur de syntaxe qui de lance le débogage
'Sheets(compteur_feuille).Range(Cells(1, 1), Cells(Der_ligne_copie, Der_colonne_copie)).Copy
à remplacer par :
Sheets(compteur_feuille).Range(Sheets(compteur_feuille).Cells(1, 1), Sheets(compteur_feuille).Cells(Der_ligne_copie, Der_colonne_copie)).Copy

et une erreur de copie car tu copies les titres en plus des données
1651783836877.png


et enfin une dernière erreur tu recopies chaque feuille sans recalculer le nombre de ligne de la feuille consolidation (et oui le total a changé car tu viens de rajouter des données !!) sinon tu écrases les données les unes sur les autres !!! 😵
1651783953017.png


@Phil69970
 
Merci beaucoup @Phil69970 pour ta programmation et l'explication de mes erreurs !!!

C'est cette ligne qui me bloquait véritablement. Et je n'aurais jamais trouvé...
"Sheets(compteur_feuille).Range(Sheets(compteur_feuille).Cells(1, 1), Sheets(compteur_feuille).Cells(Der_ligne_copie, Der_colonne_copie)).Copy"

Je ne pensais pas qu"il fallait remettre le sheets(compteur feuille) après le range...
étant donné qu'habituellement on écrit sheets("Base").range("A1")...

Encore merci tout !!! 🙂
Bonne soirée
 
- 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
4
Affichages
329
Réponses
6
Affichages
690
Réponses
9
Affichages
574
Compte Supprimé 979
C
Retour