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

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

  • TEST Macro consolidation.xlsm
    15.5 KB · Affichages: 6

Chrystel01

XLDnaute Occasionnel
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
 

Chrystel01

XLDnaute Occasionnel
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 !!!!
 

Phil69970

XLDnaute Barbatruc
@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 !!! o_O
1651783953017.png


@Phil69970
 

Chrystel01

XLDnaute Occasionnel
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
 

Discussions similaires

Statistiques des forums

Discussions
312 938
Messages
2 093 780
Membres
105 824
dernier inscrit
lloch82