Bonjour Flyonets, Arnaud, le Forum.
Via les options VBE, si tu demandes un
Arrêt sur toutes les erreurs, alors tu 'court-circuites' la routine de gestion d'erreur validée dans ton code par l'instruction
On Error Resume Next.
La méthode
Add de l'objet
Collection se présente comme ceci :
Collection.Add Valeur, Clé
L'argument
Clé doit être une chaine de caractères
unique (car elle peut être utilisée à la place de l'index de position pour accéder à un membre de la collection).
Une erreur se produit immédiatement si on tente d'ajouter un élément avec une
clé déjà existante dans la collection.
On Error Resume Next
For Each Cell In tout
Purge.Add Cell.Value, CStr(Cell.Value)
Next Cell
On Error GoTo 0
L'objectif de ce code est d'obtenir une collection d'éléments sans doublon (méthode de
J.Walkenbach adaptée d'une astuce de J.G. Hussey).
[ol][ul][li]
On Error Resume Next : valide le gestionnaire d'erreur. A partir de cette ligne, lorsqu'une erreur d'exécution survient, l'exécution continue à l'instruction suivante sans aucun arrêt. Dans la boucle qui suit, cela permet donc d'occulter l'ajout de clé déjà existante et donc de membre doublon.[/li]
[li]
For Each Cell In tout ... Next Cell : boucle sur chaque cellule de la plage 'tout'...[/li]
[li]
Purge.Add Cell.Value, CStr(Cell.Value) : ajoute chaque valeur dans la collection et utilise la valeur elle-même en tant que clé unique (
Cstr permet de s'assurer qu'il s'agit bien d'une chaine de caractères)[/li]
[li]
On Error Goto 0 : annule le gestionnaire d'erreur.[/li][/ul][/ol]
Cordialement.