Microsoft 365 Excel Conso d'onglets

thenthelo

XLDnaute Junior
Bonjour,

Je cherche un moyen simple (il peut s’agir d’une macro) pour compiler des onglets mensuels en un seul onglet de consolidation annuel sans doublon. En cherchant je trouve des cas similaires mais ils additionnent des données, ce n’est pas ce que je veux.
Mes onglets ne contiennent que du texte, il n’y a rien à additionner.
Il s’agit d’une base effectifs avec des matricules qui sont présents ou non chaque mois. Je voudrais que mon onglet conso me liste l’intégralité des matricules ayant été presents au moins 1 mois dans l'année et pour chaque matricule on retrouve l’ensemble des colonnes.
Dans mon exemple simplifié : il y 4 mois et 1 onglet de conso. Un matricule peut apparaitre dans chaque mois ou seulement dans certains mois. Pour un matricule donné les autres colonnes sont toujours identiques (c'est-à-dire que l’employeur de A1 sera toujours France, etc. ).
L’objectif est d’obtenir ce que j’ai renseigné dans l’onglet Conso.
Merci pour votre aide.
 

Pièces jointes

  • Test conso onglets.xlsx
    19.6 KB · Affichages: 14

Calvus

XLDnaute Barbatruc
Bonjour thenthelo, le forum,

Voici ton fichier en retour.

VB:
Option Explicit

Sub Conso()
Dim i%, j%, t
For i = 1 To Sheets.Count - 1
    t = Sheets(i).Range("A2:F" & Sheets(i).Range("A" & Rows.Count).End(xlUp).Row).Value

    Sheets("Conso").Range("A" & Rows.Count).End(xlUp)(2).Resize(UBound(t), 6) = t

Next i

ActiveSheet.Range("A2:F" & Range("A" & Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6), Header:=xlNo

End Sub

A+
 

Pièces jointes

  • Test conso onglets.xlsm
    32.1 KB · Affichages: 7

JHA

XLDnaute Barbatruc
Bonjour à tous,

Power query peut gérer cela. Si tu ajoutes des données dans l"un des tableaux des onglets 1 à 4, il faut uniquement actualiser le tableau recap


JHA
 

Pièces jointes

  • Test conso onglets.xlsx
    33.9 KB · Affichages: 8

chris

XLDnaute Barbatruc
Bonjour

Une solution en quelques clics avec PowerQuery intégré à ta version Excel

J'ai au préalable mis tes données sous forme de tableaux structurés nommée T_01, T_02, etc

Si tu ajoutes des mois en respectant la même logique il seront intégrés automatiquement lors de l'actualisation

Edit : bonjour Calvus et JHA plus rapides
 

Pièces jointes

  • Conso onglets PQ.xlsx
    32.3 KB · Affichages: 12

thenthelo

XLDnaute Junior
Merci pour vos réponses rapides.
Je ne connais pas Power Query et ne le vois pas dans mon ruban (et il n'est ni dans les complements désactivés ni décoché dans les complements COM). J'ai par contre Power Pivot, mais sauf erreur ce n'est pas la même chose. Du coup je suis frustrée !!!
Je vais regarder la macro qui répond tout à fait au besoin aussi mais qui du coup parait plus compliquée.
 

Calvus

XLDnaute Barbatruc
Re,

La macro n'est pas compliquée.

Elle liste chaque feuille sauf la dernière, détermine le tableau et vient le coller en feuille Conso.

Ensuite une simple suppression des doublons.

Si tu le souhaites, je pourrai la commenter, si ça peut t'aider à progresser et que tu en as envie.

A+
 

chris

XLDnaute Barbatruc
Bonjour
Je ne connais pas Power Query et ne le vois pas dans mon ruban
Il est TOTALEMENT intégré à Excel et accessible depuis l'onglet Données :
  • bouton Obtenir des données pour accéder à l'éditeur
  • bouton Requêtes et connexions pour lister les requêtes sans ouvrir l'éditeur
A noter que c'est une anomalie avec 365 de ne pas utiliser les tableaux structurés qui existent depuis plus de 17 ans...

Reposte si tu as des question sur la requête, très simple, que j'ai proposée
 
Dernière édition:

fanch55

XLDnaute Barbatruc
Salut,
Cas classique pour une méthode SQL que ce soit par PowerQuery ou ADO :

Version ADO
Comme rien n'a été défini en table structurée, nécessite que tout commence en [A1] sur chaque feuille à agrèger ...
 

Pièces jointes

  • Test conso onglets-1.xlsm
    37.3 KB · Affichages: 8
Dernière édition:

thenthelo

XLDnaute Junior
Effectivement dans le menu Données j'ai bien retrouvé Obtenir les données.
Par contre étant complètement novice je galère un peu.
J'arrive à charger mes sources puis à les combiner pour les ajouter et obtenir mon nouveau tableau. Ouf ! :)
Une grande découverte pour moi. Je vais me coucher moins confinée du cerveau ce soir !
Merci à tous. Je vais poursuivre la découverte et reviendrai peut être vers vous pour un peu d'aide complémentaire.
 

chris

XLDnaute Barbatruc
RE
J'arrive à charger mes sources puis à les combiner pour les ajouter et obtenir mon nouveau tableau. Ouf
RE
Avec ma méthode le chargement de tout tableau structuré donc le nom commence par T_ est automatique, ce qui permet que les mois suivants soient automatiquement pris en compte au fur et à mesure de leur création.
Si tu regardes la requête unique, elle est construite en 5 étapes très simples.
 

thenthelo

XLDnaute Junior
RE

RE
Avec ma méthode le chargement de tout tableau structuré donc le nom commence par T_ est automatique, ce qui permet que les mois suivants soient automatiquement pris en compte au fur et à mesure de leur création.
Si tu regardes la requête unique, elle est construite en 5 étapes très simples.
Effectivement ta solution parait très simple et efficace et j'aimerais beaucoup l'utiliser pour mon besoin. Malheureusement complètement novice dans Power Query je n'arrive pas encore à la reconstituer de moi même. Je bloque sur les étapes 1/ le choix de la source et 4/Content développé
 

chris

XLDnaute Barbatruc
Bonjour

Une fois chaque plage mise sous forme de tableau, nommé T_01 au lieu du nom automatique Tableau1, T_02 au lieu de Tableau2 etc
  • Données, Obtenir des données, A partir d'autres sources, Requête vide : ce qui ouvre PowerQuery
  • Dans la barre de formule taper
    = Excel.CurrentWorkbook()
    (ce qui liste tous les tableaux structurés et plages nommées du classeur)
  • filtrer la colonne Name : filtre textuel, commence par, T_
    (ceci permet que la synthèse qui donnera un tableau ne soit pas utilisée, de même que d'autres tableaux ou plages nommées ayant d'autres usages)
  • supprimer la colonne Name
  • cliquer sur la double flèche près du titre Content, décocher la dernière case proposant le préfixe en bas de la fenêtre
  • sélectionner toutes les colonnes, clic droit, Supprimer les doublons
  • renommer la requête
  • sortir par Fermer et charger dans, Table, et choisir l'emplacement
 

thenthelo

XLDnaute Junior
Bonjour

Une fois chaque plage mise sous forme de tableau, nommé T_01 au lieu du nom automatique Tableau1, T_02 au lieu de Tableau2 etc
  • .
  • .
  • .
Merci beaucoup d'avoir pris le temps de me décrire les étapes.
Plus qu'à reproduire ça sur mon cas concret.

Ca me donne envie d'en apprendre plus sur power query. Je pense que j'aurais pas mal de situation où cela me rendrait bien service. Plus qu'à trouver le temps de me documenter. D'ailleurs si vous avez de bons liens sur le sujet, je prends !

Toujours aussi bluffée par la rapidité et la qualité des réponses fournies sur ce forum. :)
 

Discussions similaires

Statistiques des forums

Discussions
311 724
Messages
2 081 938
Membres
101 844
dernier inscrit
pktla