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

18test-excel.xlsm (33.14 Ko)

Bonjour à tous,

Quelqu'un pourrait m'aider svp, je n'ai toujours pas su déterminer l'origine du problème..

Merci beaucoup

Rechercher des sujets similaires à "consolidation donnees feuille"