Francois73
XLDnaute Occasionnel
Bonjour à tous
je sollicite votre aide, j'ai une feuille excel comportant en colonne A des numéros plusieurs dentre eux sont les mêmes , je cherche à créer une feuille par série de numéro en automatique, car je ne sais pas à l'avance combien il faudrat créer de feuilles. dans mon exemple en colonne A j'ai 5 série de numéro différents, il faudrait qu'excel me crée donc 5 feuilles . sur chaque feuille je souhaite qu'il s'affiche toutes les lignes correspondant à chaque numéro.
lorsque je lance ma macro j'ai un bug sur la ligne suivante
y = y & tablo(n, m) & ";"
pour info ma macro compléte
Sub tri8()
Application.ScreenUpdating = False
tablo = Range("A1").CurrentRegion
Set dico = CreateObject("Scripting.dictionary")
For n = LBound(tablo, 1) To UBound(tablo, 1)
x = tablo(n, LBound(tablo, 2))
For m = LBound(tablo, 2) + 1 To UBound(tablo, 2)
y = y & tablo(n, m) & ";"
Next m
y = Left(y, Len(y) - 1)
dico(x) = dico(x) & y & "|"
x = ""
y = ""
Next n
a = dico.keys
b = dico.items
For n = LBound(a) To UBound(a)
Sheets.Add.Name = a(n)
yy = Left(b(n), Len(b(n)) - 1)
yyy = Split(yy, "|")
For p = LBound(yyy) To UBound(yyy)
yyyy = Split(yyy(p), ";")
For q = LBound(yyyy) To UBound(yyyy)
ActiveSheet.Cells(p + 1, q + 1) = yyyy(q)
Next q
Next p
Next n
Application.ScreenUpdating = True
End Sub
merci de votre aide
je sollicite votre aide, j'ai une feuille excel comportant en colonne A des numéros plusieurs dentre eux sont les mêmes , je cherche à créer une feuille par série de numéro en automatique, car je ne sais pas à l'avance combien il faudrat créer de feuilles. dans mon exemple en colonne A j'ai 5 série de numéro différents, il faudrait qu'excel me crée donc 5 feuilles . sur chaque feuille je souhaite qu'il s'affiche toutes les lignes correspondant à chaque numéro.
lorsque je lance ma macro j'ai un bug sur la ligne suivante
y = y & tablo(n, m) & ";"
pour info ma macro compléte
Sub tri8()
Application.ScreenUpdating = False
tablo = Range("A1").CurrentRegion
Set dico = CreateObject("Scripting.dictionary")
For n = LBound(tablo, 1) To UBound(tablo, 1)
x = tablo(n, LBound(tablo, 2))
For m = LBound(tablo, 2) + 1 To UBound(tablo, 2)
y = y & tablo(n, m) & ";"
Next m
y = Left(y, Len(y) - 1)
dico(x) = dico(x) & y & "|"
x = ""
y = ""
Next n
a = dico.keys
b = dico.items
For n = LBound(a) To UBound(a)
Sheets.Add.Name = a(n)
yy = Left(b(n), Len(b(n)) - 1)
yyy = Split(yy, "|")
For p = LBound(yyy) To UBound(yyy)
yyyy = Split(yyy(p), ";")
For q = LBound(yyyy) To UBound(yyyy)
ActiveSheet.Cells(p + 1, q + 1) = yyyy(q)
Next q
Next p
Next n
Application.ScreenUpdating = True
End Sub
merci de votre aide