cathodique
XLDnaute Barbatruc
Bonsoir,
Pas très à l'aise avec les Tableaux vba et encore moins les dictionnaires. Je sollicite votre aide.
C'est un code de Boisgontier (Items pour un code dans un Array 2D)
Le tableau Tbl est redimensionner (1 to d1.count, 1 to 5), or le code plante si le nombre de colonne dépasse 5. C'est ce que j'ai constaté en ajoutant des données.
Comment rendre la 2ème dimension dynamique (variable).
En vous remerciant par avance.
Pas très à l'aise avec les Tableaux vba et encore moins les dictionnaires. Je sollicite votre aide.
C'est un code de Boisgontier (Items pour un code dans un Array 2D)
VB:
Sub ItemsPourUnCode()
Set d1 = CreateObject("Scripting.Dictionary")
a = Range("A2:B" & [a65000].End(xlUp).Row)
j = 0
For i = LBound(a) To UBound(a)
If Not d1.exists(a(i, 1)) Then j = j + 1: d1(a(i, 1)) = j
Next i
Dim Tbl(): ReDim Tbl(1 To d1.Count, 1 To 5) 'comment remplacer le 5 par le nombre d'items
Set d2 = CreateObject("Scripting.Dictionary")
For i = LBound(a) To UBound(a)
d2(a(i, 1)) = d2(a(i, 1)) + 1
Tbl(d1(a(i, 1)), 1) = a(i, 1)
Tbl(d1(a(i, 1)), d2(a(i, 1)) + 1) = a(i, 2)
Next
[E2].Resize(d1.Count, 5) = Tbl
End Sub
Comment rendre la 2ème dimension dynamique (variable).
En vous remerciant par avance.