XL 2016 Convertir tableau 2 entrées en liste

Pthin

XLDnaute Nouveau
Bonjour à tous
Je cherche à convertir un tableau à 2 entrées, en une liste type base de données :

Tableau à convertir :
Lettre RC1 RC2 RC3
A 12 12 541
B 584 45 413
C 43 153 285
D 244 65 157
E 259 827 29


Liste à obtenir :
A RC1 12
A RC2 12
A RC3 541
B RC1 584
B RC2 45
B RC3 413
C RC1 43
C RC2 153
C RC3 285
D RC1 244
D RC2 65
D RC3 157
E RC1 259
E RC2 827
E RC3 29


Sur des forums, des personnes suggèrent de passer par un TCD, puis double click sur le total, mais je n'ai pas de total général qui apparait.
Quand je double clic sur un total, le tableau initial réapparait.

Merci beaucoup pour votre aide!
 

job75

XLDnaute Barbatruc
Bonjour Pthin, Hasco,

Si l'on préfère le VBA, dans le code de la feuille "Résultat" :
VB:
Private Sub Worksheet_Activate()
Dim tablo, nlig&, ncol%, resu(), i&, j%, n&
With Sheets("Feuil1").[A1].CurrentRegion 'nom de la feuille à adapter
    tablo = .Value
    nlig = .Rows.Count
    ncol = .Columns.Count
End With
If ncol > 1 Then
    ReDim resu(1 To nlig * (ncol - 1), 1 To 3)
    For i = 2 To nlig
        For j = 2 To ncol
            n = n + 1
            resu(n, 1) = tablo(i, 1)
            resu(n, 2) = tablo(1, j)
            resu(n, 3) = tablo(i, j)
    Next j, i
End If
'---restitution---
If FilterMode Then ShowAllData 'si la feuille est filtrée
With [A2]
    If n Then .Resize(n, 3) = resu
    .Offset(n).Resize(Rows.Count - n - .Row + 1, 3).ClearContents 'RAZ en dessous
End With
With UsedRange: End With 'actualise la barre de défilement verticale
End Sub
La macro se déclenche automatiquement quand on active la feuille.

A+
 

Pièces jointes

  • Convertir(1).xlsm
    18.7 KB · Affichages: 3

Discussions similaires