Vos Codes marchent super bien . C'est extraordinaire!!!
Mais j'aimerais pour ne pas être automate avoir des petits commentaires ou explications pour déchiffrer et comprendre comment ça fonctionne.
Autre chose j'ai remarqué qu'il n'ya pas de déclaration des variables ce qui fait que sur un fichier avec "Option Explicite" ça coince.
Merci
Sub essai()
Set Rng = Range("D2
" & [D65000].End(xlUp).Row)
Set d = CreateObject("scripting.dictionary")
For Each c In Rng
d(c.Value) = ""
Next c
For Each c In d.keys
Set d1 = CreateObject("scripting.dictionary")
For Each k In Rng
If k.Value = c And k.Offset(, 1) = "RUPTURE" Then
temp = k.Offset(, -3).Value
d1("temp") = d1("temp") & k.Offset(, -3).Value & ","
End If
Next k
For Each k In Rng
If k.Value = c And (k.Offset(, 1) = "STOCK DORMANT" Or k.Offset(, 1) = "SURSTOCK") Then
k.Offset(, 2).Value = d1("temp")
End If
Next k
Next c
End Sub
Sub essai2()
Set Rng = Range("D2
" & [D65000].End(xlUp).Row)
Set d = CreateObject("scripting.dictionary")
For Each c In Rng
d(c.Value) = ""
Next c
For Each c In d.keys
Set d1 = CreateObject("scripting.dictionary")
For Each k In Rng
If k.Value = c And (k.Offset(, 1) = "STOCK DORMANT" Or k.Offset(, 1) = "SURSTOCK") Then
temp = k.Offset(, -3).Value
d1("temp") = d1("temp") & k.Offset(, -3).Value & ","
End If
Next k
For Each k In Rng
If k.Value = c And k.Offset(, 1) = "RUPTURE" Then
k.Offset(, 2).Value = d1("temp")
End If
Next k
Next c
End Sub