Recherche dans collection

Sylvain

XLDnaute Occasionnel
Bonjour,

un petit code pour un truc qui revenait souvent pour moi. L'idée est de rechercher un objet dans une collection sans utiliser on error resume next. Ca existe sûrement autre part mais je le mets pour ceux qui n'y avaient pas pensé.

J'ai généralisé mon code et fait la vérification pour ne pas avoir à tenir compte des majuscules et minuscules.

On l'utilise comme ça par exemple :
IF Existe_objet(Workbooks, "Machin.xls") then .... --> par exemple pour un classeur
Existe_objet(Activeworkbook.worksheets, "Feuil1") --> pour une feuille
Existe_objet(activeworkbook.names, "critères") --> Recherche une plage nommée
...


Code:
Function Existe_objet(collection, nom As String) As Boolean
  'vérifie qu'un objet est bien dans une collection
  Dim objet
  Existe_objet = False
  For Each objet In collection
    If UCase(objet.Name) = UCase(nom) Then
      Existe_objet = True
      Exit Function
    End If
  Next
End Function

Ca peut sûrement s'améliorer, Si certains ont des idées...

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 353
Membres
103 528
dernier inscrit
hplus