XL 2010 Ajout clé dictionary

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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é" ??
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
241
Réponses
4
Affichages
177
Réponses
10
Affichages
281
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
5
Affichages
183
Retour