For Each? Action pour chaque valeur distincte en col A

Bonjour à tous,

J'ai un fichier sur lequel j'ai une liste d'article et pour lequel j'ai un bout de code VBA qui me permet de lister les différents articles par référence/dimension.

Il fonctionne bien. Mais je voudrais que ce listing soit splité par "index" : la valeur de l'index étant inscrite en colonne A.

Je pense donc à une boucle FOR EACH mais je n'en suis pas sûr.

17exemple.xlsx (8.37 Ko)

Auriez-vous une idée?

PS : sachant que mon fichier est bien plus complexe en réalité!

Vip4rk

Bonjour,

un simple filtre auto fait ça sans vba.
eric

3exemple.xlsx (68.05 Ko)

Regarde aussi les autres possibilité de la liste déroulante : filtre numérique, Chercher...
eric

Merci Eriiic mais comme je le précisais dans mon mail mon fichier est beaucoup plus complexe et volumineux donc je voudrais connaître la méthode pour la reproduire.

Vip4rk

Bonjour vip4rk, eriic, le forum

Essaie ceci :

Option Explicit
Sub test()
    Dim a, e, s, i As Long, n As Long, dico As Object
    Set dico = CreateObject("Scripting.Dictionary")
    dico.CompareMode = 1
    With Sheets("Feuil1")
        a = .Cells(1).CurrentRegion.Value
        For i = 2 To UBound(a, 1)
            If Not dico.Exists(a(i, 1)) Then
                Set dico(a(i, 1)) = CreateObject("Scripting.Dictionary")
                dico(a(i, 1)).CompareMode = 1
            End If
            dico(a(i, 1))(a(i, 3)) = dico(a(i, 1))(a(i, 3)) + a(i, 2)
        Next
        n = 1
        For Each e In dico
            .Cells(n, 8) = "Index " & e
            For Each s In dico(e)
                n = n + 1
                .Cells(n, 8) = dico(e)(s) & " " & s
            Next
            n = n + 2
        Next
    End With
    Set dico = Nothing
End Sub

klin89

Rechercher des sujets similaires à "each action chaque valeur distincte col"