Bonjour le forum. J'espère que les pros sont en ligne, en se jour férié ! B)
Voilà mon souhait :
Je créée une petite fonction de recherche à laquelle je passe 2 paramètres : le texte recherché (RECHERCHE) et la zone de recherche (ZONE).
Pour ce 2ème paramètre, je voudrais pouvoir lui envoyer soit une plage de cellule (RANGE), soit le nom d'une feuille (STRING).
Code:
[u]Si l'objet est RANGE, la recherche serait :[/u]
SEARCH = ZONE.Find(what:=RECHERCHE).Address
[u]Si l'objet est STRING, la recherche serait :[/u]
SEARCH = Worksheets(ZONE).Cells.Find(what:=RECHERCHE).Address
Voilà mon soucis:
Le type d'objet est déclaré dans la fonction, c'est soit RANGE (ou variant), soit STRING :
Code:
Public Function SEARCH(ByVal RECHERCHE As String, ByVal ZONE As Range [i][size=2]ou[/size][/i]String)
Je n'arrive donc pas à utiliser en même temps une plage de cellule ou une chaîne de caractère pour que cette fonction ... fonctionne !
Quelqu'un a une idée de la façon dont je pourrais procéder ? Merci d'avance...
Public Function SEARCH(ByVal RECHERCHE As String, ByVal ZONE As Variant) As String If TypeName(ZONE) = 'Range' Then
SEARCH = ZONE.Find(what:=RECHERCHE).Address Else
SEARCH = Worksheets(ZONE).Cells.Find(what:=RECHERCHE).Address End If
End Function