Vérifier l'existence d'un indice

solquagerius

XLDnaute Junior
Bonjour le forum,

Dans ma macro, j'ai créé une collection dans laquelle je met des objets. Pour chaque élément que je mets, je rajoute une clé :
Code:
Collection.add objet, clé

Je sais qu'une des clés est "A", par exemple. Comment je fais pour parcourir la collection et tester l'existence de la clé pour savoir si c'est bien la clé "A" ?

En gros je voudrais tester l'existence de la clé "A" en parcourant la collection, un truc du genre :
Code:
for each C in Collection
 if C("A") existe then
  blabla
 endif
next C
 

Pierrot93

XLDnaute Barbatruc
Re : Vérifier l'existence d'un indice

Bonjour solquagerius,

regarde peut être le code ci-dessous si il peut t'aider :

Code:
Dim macol As New Collection, x
macol.Add "monobjet", CStr("macle")
On Error Resume Next
x = macol.Item("macle")
On Error GoTo 0
If Not IsEmpty(x) Then MsgBox "ok existe"

bonne journée
@+
 

solquagerius

XLDnaute Junior
Re : Vérifier l'existence d'un indice

Merci Pierrot93 !
C'est effectivement ce que j'avais fait (le code marche), mais j'aimerais justement éviter de passer par une gestion d'erreur... je n'ai pas trouvé d'autres moyens pour l'instant donc je pense que je vais être obligé de passer par là... mais si jamais qqun a une autre solution, je suis preneur !
 

Pierrot93

XLDnaute Barbatruc
Re : Vérifier l'existence d'un indice

Re,

sinon, une autre solution consisterait à utiliser un objet "dictionary" plutôt qu'une collection, pour cet objet, la méthode "exists" permet d'effectuer le test sans gestion d'erreur... A voir...

Code:
Dim d As Object
Set d = CreateObject("Scripting.Dictionary")
d.Add "macle", "monobjet"
If d.exists("macle") Then MsgBox "ok existe"
 

Discussions similaires

Réponses
5
Affichages
379
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 527
Messages
2 089 361
Membres
104 138
dernier inscrit
Ber