Transformation de données (Pivot-Transposition)

Bonjour à tous,

Tout d'abord merci à tous pour la qualité de ce forum que je consulte régulièrement.

Ma problématique est la suivante, je dépose d'une table de données qui se présente de cette manière :

idHab
Pol11.6.4.2
Pol11.6.4.5
Pol21.6.4.6
Pol21.6.4.5
Pol21.6.4.10
Pol31.6.4.5
Pol41.6.4.5
Pol51.6.4.10
Pol51.6.4.5

Je voudrais transformer mes données pour obtenir un tableau comme suit sachant que pour un id donné, on peut avoir x (<10) répétitions. Comment obtenir cela ? Utiliser Power Pivot (procédures?) ? Utiliser une série de formules ? Etc...

idHab1Hab2Hab3
Pol11.6.4.21.6.4.5
Pol21.6.4.61.6.4.51.6.4.10
Pol31.6.4.5
Pol41.6.4.5
Pol51.6.4.101.6.4.5

En vous remerciant grandement par avant,
Frédéric

Bonjour,

Je ne suis pas fort en Power Pivot, par contre je peux proposer une solution par VBA:

Sub transformation()
Dim Id As New Dictionary
Dim tabSource As Variant, tabResultat As Variant, colonnes As Variant

'initialisations
tabSource = Range("A3").CurrentRegion.Value

'recherche du nombre d'id différents
For lig = LBound(tabSource, 1) + 1 To UBound(tabSource, 1) '+1 car on ne regarde pas l'en-tête
    If Not Id.Exists(CStr(tabSource(lig, 1))) Then
        Id.Add CStr(tabSource(lig, 1)), Id.Count + 1
    End If
Next lig

'dimensionnement des tableaux
ReDim tabResultat(1 To Id.Count, 1 To 11)
ReDim colonnes(1 To Id.Count)

'transformation
For lig = LBound(tabSource, 1) + 1 To UBound(tabSource, 1)
    ligne = Id(CStr(tabSource(lig, 1)))

    'id
    If tabResultat(ligne, 1) = "" Then tabResultat(ligne, 1) = tabSource(lig, 1)

    'hab
    If Not colonnes(ligne) = "" Then
        colonnes(ligne) = colonnes(ligne) + 1
    Else
        colonnes(ligne) = 2
    End If

    tabResultat(ligne, colonnes(ligne)) = tabSource(lig, 2)
Next lig

'export du résultat
Range("D4").Resize(UBound(tabResultat, 1), UBound(tabResultat, 2)).Value = tabResultat
End Sub
2pivot-exemple.xlsm (20.20 Ko)

Bonjour à tous !

Une première piste avec 365 ? :

Bonjour,

Une proposition Power query ?

11pivot-exemple.xlsx (18.21 Ko)

Re-bonjour à tous,

Merci beaucoup pour vos solutions qui fonctionnent tous. Je me concentre sur les 2 dernières (formules et power Query) pour comprendre comment ça marche, elles me paraissent plus à ma portée...

Bonne journée,

Fred

Pas de souci!

Bon courage

Rechercher des sujets similaires à "transformation donnees pivot transposition"