Bonjour a tous,
Maintenant que je maitrise un peu mieux le scripting.dictionary, je suis confronte a une erreur inattendue :/
En effet, la macro me supprime bien les doublons de ma liste, mais elle ne me renvoit pas la concatenation des items.
Je donne un exemple pour etre plus clair. J'ai une liste de 27000 TAGs (donnees alphanumeric) qui peuvent apparaitre plusieurs fois en colonne A.
En colonne B, les donnees pour un meme TAG peuvent etre differentes (ex: un client peu avoir plusieurs numeros de telephone)
Colonne A = Client (TAG) = dico.KEY
Colonne B = No de Tel = dico.item
Mon probleme est le suivant, arrive a la ligne 700 (environ), le dictionnaire plante. Je suppose que c'est a cause du nombre de donnees.
Pourtant il me semble avoir lu que le dictionnaire n'avait pas reellement de limitations...
Auriez-vous une solution/idee?
voici le code:
En vous remerciant par avance.
Cordialement
Delux
Maintenant que je maitrise un peu mieux le scripting.dictionary, je suis confronte a une erreur inattendue :/
En effet, la macro me supprime bien les doublons de ma liste, mais elle ne me renvoit pas la concatenation des items.
Je donne un exemple pour etre plus clair. J'ai une liste de 27000 TAGs (donnees alphanumeric) qui peuvent apparaitre plusieurs fois en colonne A.
En colonne B, les donnees pour un meme TAG peuvent etre differentes (ex: un client peu avoir plusieurs numeros de telephone)
Colonne A = Client (TAG) = dico.KEY
Colonne B = No de Tel = dico.item
Mon probleme est le suivant, arrive a la ligne 700 (environ), le dictionnaire plante. Je suppose que c'est a cause du nombre de donnees.
Pourtant il me semble avoir lu que le dictionnaire n'avait pas reellement de limitations...
Auriez-vous une solution/idee?
voici le code:
Code:
Sub ListeSansDoublons()
Set mondico = CreateObject("Scripting.Dictionary")
For Each c In Range("a2:a65000")
If Not mondico.exists(c.Value) Then
mondico(c.Value) = c.Offset(, 1).Value
Else
mondico(c.Value) = mondico(c.Value) & ";" & c.Offset(, 1).Value
End If
Next c
a = mondico.Count
[C2].Resize(a, 1) = Application.Transpose(mondico.keys)
[D2].Resize(a, 1) = Application.Transpose(mondico.items)
End Sub
En vous remerciant par avance.
Cordialement
Delux