Consolidation données dans une feuille
Bonjour à tous,
Je dois consolider plusieurs feuilles dans une seule feuille en mettant les données de chacune des feuilles (données sous forme de tableau) à la suite des données de la feuille précédente.
En plus de cela, cette opération devra prendre en compte plusieurs fichiers Excel.
Pour résumer :
Plusieurs fichiers Excel contenants plusieurs feuilles chacun devront être consolidés en une seule feuille en ajoutant à la suite chacune des données.
Pour l'instant, j'ai réussi à mettre en place un code qui me crée une nouvelle feuille de calcul et me copie les données d'une feuille (la boucle ne fonctionne pas je n sais pas pourquoi).
Le code actuel me copie le contenu de la feuille b seulement.
Le code actuel est le suivant :
Sub Consolider1()
Dim numligne As Integer, nbfeuille As Integer
Dim DerniereLigne As Integer
Dim LastRowConsolidation As Integer
Dim feuille As Worksheet
'On désactive le raffraichissement de l'écran scintillement
Application.ScreenUpdating = False
' Création d'une nouvelle feuille qui aura le nom "Consolider + date du jour"
Sheets.Add
ActiveSheet.Name = "Consolidation " & Format(Date, "yyyy-mm-dd")
ActiveSheet.Move After:=Sheets("Consolidation")
'On va créer une boucle permettant de lire toutes les feuilles à consolider
For nbfeuille = 1 To 5
'on parcours les 3 premières feuilles
'On sélectionne la première feuille
Worksheets(nbfeuille).Select
'On se positionne sur la dernière ligne non vide
DerniereLigne = Range("P1000").End(xlUp).Row
'On parcours tout le tableau à partir de la ligne pour copier chacune ligne
For numligne = 3 To DerniereLigne
'On sélectionne la première feuille
Worksheets(nbfeuille).Select
'On sélectionner la première ligne
'On copie la ligne
DerniereLigne = Range("P65536").End(xlUp).Row
Range("B3:P" & DerniereLigne).Copy
'Où, sur la feuille consolidation, il faut donc la sélectionner
Sheets("Consolidation " & Format(Date, "yyyy-mm-dd")).Select
'Il faut trouver la dernière ligne non vide de la feuille consolidation
LastRowConsolidation = Range("P1000").End(xlUp).Row + 1
'On sélectionne la cellule vide et la première colonne
Cells(LastRowConsolidation, 1).Select
'Une fois positionné, on colle les données
Sheets("Consolidation " & Format(Date, "yyyy-mm-dd")).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Next numligne
Next nbfeuille
Sheets("Consolidation " & Format(Date, "yyyy-mm-dd")).Select
ActiveSheet.Range("A:A").Insert
'On réactive le raffraichissement de l'écran scintillement
Application.ScreenUpdating = True
'On affiche un message qui prévient que la consolidation est terminée
MsgBox "La consolidation est terminée...", vbOKOnly + vbInformation, "Message"
End Sub Si quelqu'un pouvait m'éclairer sur la raison pour laquelle la boucle ne fonctionne pas, je suis preneur !
Merci par avance et bonne journée
PS : Le fichier test est également joint
Bonjour à tous,
Quelqu'un pourrait m'aider svp, je n'ai toujours pas su déterminer l'origine du problème..
Merci beaucoup