Consolidation muti feuille Excel 2010

Bonjour,

J'aimerais avoir votre aide afin de consolider des donnes des plusieurs feuilles.

Idéalement un tableau croisée dynamique avec les donnes de plusieurs feuilles.

Je sais que la version 2010 est désuet , mais c'est la version que j'ai utilise au travail.

Donc j'aimerais pouvoir consolider l'onglet budget 2020, réel 2018, réel 2019 et réel 2020 afin d'avoir un total des heures et des montants par code emploi dans un seule fichier.

J'ai des bases des données avec plusieurs lignes et plusieurs codes emploi et cela je doit les mettre à jour mensuellement pour faire une analyse d'utilisations des banque d'heures.

Est-il possible avec une formule VBA?

Un gros merci

18tableau-test.xlsx (692.62 Ko)

Bonsoir,

Quel version de 2010 as tu, peux tu télécharger Power Query ?

Cordialement.

Malheureusement je ne peux pas utiliser Power Query.

Merci pour la suggestion

Bonjour simonastefan,

une proprosition à tester, je n'ai pas écrit ce code mais j'ai adapté un exemple trouvé sur internet (ici la source

). Deux opérations préliminaires sur ton classeur:

  • renommer Recap un onglet vide;
  • vérifier que l'en-tête des colonnes à consolider est écrit de la même manière sur toutes les feuilles.

Voici le code, à adapter le nom de la colonne si nécessaire:

Sub consolidate()

    Dim myInSht As Worksheet
    Dim myOutSht As Worksheet
    Dim aRow As Range
    Dim aCol As Range
    Dim myInCol As Range
    Dim myOutCol As Range
    Dim cell As Range
    Dim iLoop As Long, jLoop As Long

    Sheets("Recap").UsedRange.ClearContents

    jLoop = 2
    Application.ScreenUpdating = False

    For Each myInSht In ActiveWorkbook.Worksheets

        If myInSht.Name = "BUDGET  BH 2020" Or myInSht.Name = "Réel 2018" Or myInSht.Name = "Réel 2019" Or myInSht.Name = "Réel 2020" Then

            For Each aCol In myInSht.UsedRange.Columns
                Set myOutCol = Nothing
                If aCol.Cells(1, 1).Value = "Code Emploi" Then Set myOutCol = Sheets("Recap").Range("A:A")
                If aCol.Cells(1, 1).Value = "Montant" Then Set myOutCol = Sheets("Recap").Range("B:B")
                If aCol.Cells(1, 1).Value = "Nb d'heures estimé" Then Set myOutCol = Sheets("Recap").Range("C:C")

                If Not myOutCol Is Nothing Then

                    With Sheets("Recap")
                        .Range("A1") = "Code Emploi"
                        .Range("B1") = "Montant"
                        .Range("C1") = "Nb d'heures estimé"
                    End With

                    Set myInCol = aCol
                    Set myInCol = myInCol.Offset(1, 0).Resize(myInCol.Rows.Count - 1, myInCol.Columns.Count)

                    iLoop = jLoop
                    For Each aRow In myInCol.Rows
                        myOutCol.Cells(iLoop, 1).Value = aRow.Cells(1, 1).Value
                        iLoop = iLoop + 1
                    Next aRow
                End If
            Next aCol
        End If
        If iLoop > jLoop Then jLoop = iLoop
    Next myInSht

    Application.ScreenUpdating = True

End Sub

Bonsoir ,

et un gros merci pour votre réponse

Cependant je fait appel à vous car n'a pas fonctionné ou je l'avoue j'ai pas bien adapté, je ne suis pas un pro VBA..

En effet j'aurais besoin dans l'onglet Recap d'avoir le code emploi dans la première colonne, après le total des heures budget(colonne M fichier budget 2020), montant total budget par code d'emploi (colonne P fichier budget2020), heures 2018(colonne P fichier réel 2018 )montant colonne N fichier réel 2018, le mêmes information pour 2019 et 2020.

Cette compilation me servira à bâtir un tableau de bord dévolution pour l'utilisation des heures.

Si c,est possible est-ce que on peut relier la macro à un bouton ?

Un gros merci encore pour votre aide

Un petit ajout j'aimerais avoir le total des heures réelles et le montant réel 2018,2019,2020 par semaine de paie , (colonne R)

Un gros merci

En effet j'aurais besoin dans l'onglet Recap d'avoir le code emploi dans la première colonne, après le total des heures budget(colonne M fichier budget 2020), montant total budget par code d'emploi (colonne P fichier budget2020), heures 2018(colonne P fichier réel 2018 )montant colonne N fichier réel 2018, le mêmes information pour 2019 et 2020.

Bonjour simonastefan,

je ne suis pas sûr d'avoir bien compris ta question, en tout cas la consolidation des données dans le code que j'ai proposé prévoit que pour tous les onglets le même nombre de colonnes avec des données homogènes soit résumé, ça ne marche pas en prenant une colonne dans une feuille qui n'est pas présente dans les autres.

Bonjour,

Oui , en effet pour pouvoir faire l’évolution j'aurais besoin de données par semaine par paie.

Cordialement

Rechercher des sujets similaires à "consolidation muti feuille 2010"