Bonsoir Yan1954,
Il existe en VBA, une solution qui permet de tester si un élément appartient à telle collection.
Il suffit d'ajouter sur ta boucle 1 to 500 l'élément key à chaque item de tes collections. Voir ci dessous.
Dim liste1 As New Collection
Dim liste2 As New Collection
Sub toto()
Dim a as Long, st as String
For x = 1 To 500
ca = x ^ 2, Cstr(ca)
cu = x ^ 3, Cstr(cu)
liste1.Add (ca)
liste2.Add (cu)
Next
a = 25
'Double Test par boîte de message de la valeur choisie. On contrôle d'abord si carré puis si cube
On Error resume Next
MsgBox Koll_1(CStr(a)) & " est un carré"
On Error goto ErrFin
MsgBox Koll_2(CStr(a)) & " est un cube"
End
ErrFin:
MsgBox "Non trouvé"
End
Si la valeur n'est pas trouvé dans une des collections, le message Non trouvé s'affichera seulement.