XL 2010 Ajout clé dictionary

vgendron

XLDnaute Barbatruc
Bonjour à toutes et tous,

Je viens vers vous au sujet des dictionaires..
j'ai remarqué quelque chose qui me semble étrange... peut etre est ce normal..?

le code suivant ne fonctionne pas..
VB:
set dico =createobject("scripting.dictionary")  
with activesheet
    fin=.range("A" &.rows.count).end(xlup).row
    for i = 1 to fin
        if not dico.exists(.range("A" &i)) then dico.add .range("A" &i),i
    next i
end with

alors que celui ci fonctionne

VB:
set dico =createobject("scripting.dictionary")  
with activesheet
    fin=.range("A" &.rows.count).end(xlup).row
    for i = 1 to fin
       Clé=.range("A" &i)
        if not dico.exists(Clé) then dico.add Clé,i
    next i
end with

Sauriez vous m'expliquer pourquoi je dois passer par la variable intermédiaire "Clé" ??
 

dysorthographie

XLDnaute Accro
Bonjour,
En fait un dictionnarry stock en terme de clé et de valeurs des objets !
Dans ton premier cas la clé est un range!
Code:
dico.add range("A1"),range("A1")
Dans cet exemple la clé comme la valeur sont des range
Ce qui signifie que range("A2") n'existe pas !

Code:
dico.add range("A1").value,range("A1").Value

Ce qui signifie que range("A2").value peut exister !

Écrire ça Clé=.range("A" &i) revient part défaut à écrire ça Clé=.range("A" &i).Value
 
Dernière édition:

Discussions similaires

Réponses
12
Affichages
252
Réponses
11
Affichages
297

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 276
Messages
2 086 714
Membres
103 378
dernier inscrit
phdrouart