connaitre la position d'une donnée dans un dico
Le
merguez07

Bonjour à tous,
voilà pour accélérer ma comparaison de 2 listes j'ai créé un dico ou
j'ai mis une des 2 listes
Set dico = New Scripting.Dictionary
la question est la suivante
une fois que j'ai mis ma 1ere liste dans le dico je recherche pour
chacun des éléments de ma deuxième liste s 'il est contenu dans le dico
If dico.Exists(valeur en cours de la 2eme liste) then .
et là j'aimerai connaitre ou se trouve la valeur en cours dans le dico
(quel est le numéro de l'item concerné dans le dictionnaire)
je sais pas si j'ai été clair
Merci
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
voilà pour accélérer ma comparaison de 2 listes j'ai créé un dico ou
j'ai mis une des 2 listes
Set dico = New Scripting.Dictionary
la question est la suivante
une fois que j'ai mis ma 1ere liste dans le dico je recherche pour
chacun des éléments de ma deuxième liste s 'il est contenu dans le dico
If dico.Exists(valeur en cours de la 2eme liste) then .
et là j'aimerai connaitre ou se trouve la valeur en cours dans le dico
(quel est le numéro de l'item concerné dans le dictionnaire)
je sais pas si j'ai été clair
Merci
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Pourquoi un dictionnaire :
Sub test()
Dim Tabl(2) As String
Tabl(0) = "toto"
Tabl(1) = "titi"
Tabl(2) = "tutu"
MsgBox Application.Match("titi", Tabl, 0)
End Sub
Cordialement.
Daniel
n = Application.Match("valeur en cours de la 2eme liste", MonDico.Items, 0)
valeur correspondant de la 1ere liste = Application.Index(MonDico.Keys,
Application.Match("valeur en cours de la 2eme liste", MonDico.Items, 0))
isabelle
Le 2015-07-18 08:34, merguez07 a écrit :
en fait vu que me liste comprend environ 10000 items je pensais, au
regard de ce que j'ai lu sur internet, que l'utilisation d'un dico
permettait un gain significatif de temps de traitement
Xavier
Le 18/07/2015 14:53, DanielCo a écrit :
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Xavier
Le 18/07/2015 16:04, isabelle a écrit :
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Ce serait à essayer, mais je pense que si tu utilises une plage de
cellules au départ,
Tabl = Application.Transpose([A1:A10000])
doit être plus rapide que l'alimentation d'un dictionnaire.
Daniel