"Find" sous Excel

Résolu/Fermé
Papyx Messages postés 315 Date d'inscription dimanche 16 septembre 2007 Statut Membre Dernière intervention 17 septembre 2021 - 19 févr. 2012 à 16:51
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 21 févr. 2012 à 08:43
Bonjour,
Pourquoi ma recherche avec "Find" s'arrête sur le 1er argument qui contient mon critère.

Ex. set c = range("a:a"). find("7")

résultat ==> c.value récupère 177
la recherche devrait continuer jusqu'à trouver la cellule qui contient 7!


A voir également:

1 réponse

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
21 févr. 2012 à 08:43
Bonjour,
Dans 177, la méthode find sans paramètres supplémentaires trouve 7, à juste titre d'ailleurs.
Une petite aide VBA sur la méthode find te donne les paramètres pouvant être appliqués à la méthode :
expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
Lorsque tu écris :
set c = range("a:a"). find("7")
le seul paramètre complété est : what.
- LookIn indique le type d'information cherché (exemple LookIn:=xlValues)
- LookAt "rechercher comme" n'accepte que 2 constantes : xlWhole (en entier) ou xlpart (en partie).
Pour que ta méthode find ne recherche un résultat qu'exactement identique à What, il te faut l'indiquer, comme ceci :
set c = range("a:a"). find("7", lookAt:=wlWhole)
0