XL 2016 Consolider les données

anna2054

XLDnaute Occasionnel
Bonjour,

Je voudrais consolider les données (Sheet1) pour obtenir le résultat (Sheet2). Voir le fichier joint.
Comment le faire, SVP ?

Merci beaucoup.
Anna
 

anna2054

XLDnaute Occasionnel
Bonsoir Chris,

Merci beaucoup de votre aide.
Oui, c'est exactement ce dont j'ai besoin :)

Je ne connais pas du tout " PowerQuery", vais chercher des informations pour l'apprendre à l'utilisation.

Auriez-vous peut-être quelques liens à me signaler ?

Merci encore, et bonne nuit.
Anna
 

chris

XLDnaute Barbatruc
RE

En lançant PowerQuery on peut voir 2 requête :
  • Ordre qui récupère l'ordre des colonnes pour les disposer ultérieurement
  • Data qui décroise le tableau initial pour le recroiser différemment
On voit à droite les étapes des requêtes dont le détail apparait dans la barre de formule et en double cliquant sur le rouage

Si tu as des question sur certaines étapes, reposte
 

anna2054

XLDnaute Occasionnel
Merci Chris, de votre réponse rapide.
Je pense à me débrouiller d'abord pour avoir quelques premières notions de PQ.
Et puis j'essaierai ensuite de le manipuler pour voir si j'obtiens le même résultat que vous.
Je vous tiendrai au courant dès que possible.

Merci encore de votre aide précieuse :)
Bien à vous et à bientôt.
Anna
 

anna2054

XLDnaute Occasionnel
Bonjour Chris,

Comment avez-vous fait pour ajouter (et nommer) les colonnes?
Faut-il rester dans PowerQuery ou passer à PowerPivot pour le faire?

Merci et bonne journée !
Anna

author1 Rating1 date1 Text1 entreprise1 Count1 Real1 address1 author2 Rating2 date2 Text2 entreprise2 Count2 Real2 address2 author3 Rating3 date3 Text3 entreprise3 Count3 Real3 address3
Anna
author1 Rating1 date1 Text1 entreprise1 Count1 Real1 address1 author2 Rating2 date2 Text2 entreprise2 Count2 Real2 address2 author3 Rating3 date3 Text3 entreprise3 Count3 Real3 address3 author4 Rating4 date4 Text4 entreprise4 Count4 Real4 address4
Corinne
 

chris

XLDnaute Barbatruc
Bonjour
  • l'étape Personnalisée ajoutée ajoute un index nommé Idx numérotant chaque item trouvé dans une colonne de la source pour un ID en se basant sur l'étape précédente qui regroupe les lignes par ID et titre de colonne Source
  • l'étape Colonne fusionnée insérée fusionne le nom de colonne initiale et Idx
On n'utilise PowerPivot que pour créer des TCD nécessitant des calculs inexistant dans les TCD standards donc pas utilisé ici
 

anna2054

XLDnaute Occasionnel
Merci beaucoup de votre réponse rapide :)
Je ne vois pas où se trouve l'étape Personnalisée ajoutée pour ajouter un index nommé Idx
Vous pouvez voir dans le fichier joint où je suis actuellement.
(J'utilise la version anglais).
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour anna2054, chris,

Voyez le fichier joint et cette macro dans le code de Sheet2 :
VB:
Private Sub Worksheet_Activate()
Dim d1 As Object, d2 As Object, P As Range, ncol%, i&, lig&, x$, xlig&, n%
Set d1 = CreateObject("Scripting.Dictionary")
d1.CompareMode = vbTextCompare 'la casse est ignorée
Set d2 = CreateObject("Scripting.Dictionary")
d2.CompareMode = vbTextCompare
Set P = Sheets("Sheet1").[A1].CurrentRegion
ncol = P.Columns.Count
Application.ScreenUpdating = False
Cells.Delete 'RAZ
For i = 2 To ncol: P(1, i) = P(1, i) & "µ": Next 'µ pour la numérotation
lig = 1
For i = 2 To P.Rows.Count
    x = CStr(P(i, 1))
    If Not d1.exists(x) Then
        d1(x) = lig 'mémorise la ligne
        Cells(lig + 1, 1) = x
        lig = lig + 2
    End If
    xlig = d1(x) 'récupère la ligne
    d2(x) = d2(x) + 1 'comptage
    n = d2(x)
    P(1, 2).Resize(, ncol - 1).Copy Cells(xlig, 2).Offset(, (ncol - 1) * (n - 1))
    Cells(xlig, 2).Offset(, (ncol - 1) * (n - 1)).Resize(, ncol - 1).Replace "µ", n, xlPart
    P(i, 2).Resize(, ncol - 1).Copy Cells(xlig + 1, 2).Offset(, (ncol - 1) * (n - 1))
Next
For i = 9 To UsedRange.Columns.Count Step ncol - 1: Columns(i).AutoFit: Next 'largeurs pour les adresses
P.Rows(1).Replace "µ", "", xlPart 'retire les µ
End Sub
Elle se déclenche quand on active la feuille.

A+
 

Pièces jointes

  • __QuestionExcel(1).xlsm
    19.6 KB · Affichages: 11

anna2054

XLDnaute Occasionnel
Bonjour job75, chris,

Votre solution macro fonctionne formidablement (surtout pour une novice que je suis ;-))
Mais le problème est que le tableau excel initial (que j'ai envoyé ici) n'est qu'une forme simplifiée, et pas ce que je dois traiter en réalité, le macro est donc inapplicable.

Pourrais-je vous envoyer le tableau réel, pour que vous modifiez le macro, SVP ?
(Je suis nulle en macro :-( )

Merci beaucoup.
Anna
 

Discussions similaires

Réponses
8
Affichages
390

Statistiques des forums

Discussions
312 234
Messages
2 086 467
Membres
103 226
dernier inscrit
smail12