recherche sans préfixe ni suffixe

  • Initiateur de la discussion Initiateur de la discussion xeration
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

X

xeration

Guest
Salut,

Je demande votre aide pour une petite macro !

Se que je voudrais c'est une macro sous excel qui recherche une valeur exact, mais sans qu'il y ai des chose en plus, comme s'pas facil à expliquer, je vous donne un exemple :

Code:
Range("AX:AX").select

Selection.Find(What:="100", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate

Dans la colone AX on peut trouver ces valeurs :

99.2207004
98.79020683
98.23100937
99.23329798
92.43513704
93.94093373
96.40871955
83.67284889
93.98713235
80
100

La macro va d'abord me chercher 98.23100937 car il y a 100 dedans, se que je voudrais c'est que la macro recherche directement la valeur exacte sans préfixe ni suffixe

Si ce n'est pas clair dite le moi, j'ai l'impression de ramer un peu dans se que je dis !
 
Re : recherche sans préfixe ni suffixe

Si ce n'est pas clair dite le moi, j'ai l'impression de ramer un peu dans se que je dis !

Bonjour xeration,

Je te rassure, ce n'est effectivement pas clair.

Que veux-tu rechercher exactement ? Toutes les cellules de la colonne AX qui contiennent "100" ?
Si c'est le cas, ce n'est pas la fonction "FIND" qu'il faut utiliser mais une boucle utilisant la recherche de la position de la chaîne cherchée dans la chaîne contenante : fonction "INSTR".
Et que veux-tu faire ensuite ?

Afin de pouvoir t'aider efficacement, le mieux serait de répondre à ces questions.

A te lire.

Cordialement.

Edit : bonjour eddy51, ayaflo.
 
Re : recherche sans préfixe ni suffixe

bonjour,
ajoute "wholeword=true" dans la commande "Find", ça indique qu'il faut chercher le mot complet :


[TD="class: T"] wholeword [/TD]
[TD="class: T"]Facultatif. Valeur de type Boolean indiquant s'il faut limiter la recherche aux mots complets. Si cette valeur est True , seuls les mots complets seront trouvés. La valeur False est prise par défaut.[/TD]

(Aide VBA)

à +

bonjour Eddy, Ayaflo, Papou-net, pas assez rapide, le temps de chercher dans l'aide...mdr
 
Re : recherche sans préfixe ni suffixe

Salut à tous,

Merci pour vos réponse aussi rapide qu'elles soient !

Ce que je veux en faite, ce n'est pas compter le nombre de "100", mais lorsque j'active la macro, la case où il n'y a QUE 100 s'active, celle ou il y a 98.23100937 ne doit pas s'activer

Si c'est un peu plus claire :s
 
Re : recherche sans préfixe ni suffixe

à tu essayé :

Code:
Range("AX:AX").select

Selection.Find(What:="100", _
    After:=ActiveCell, _
    LookIn:=xlFormulas, _
    LookAt:= xlPart, _
    SearchOrder:=xlByRows, _
    SearchDirection:=xlNext, _
    WholeWord=True, _
    MatchCase:=False, _
    SearchFormat:=False).Activate
 
Re : recherche sans préfixe ni suffixe

Oui, Excel me donne une erreur :

Erreur de compilation :

Attendu : paramètre nommé

Chez moi, j'obtiens l'erreur 448 : "Argument nommé introuvable"

Il faut avouer que la fonction Find n'est pas toujours d'une approche facile, d'autant que les paramètres sont fort mal renseignés, et pour ne pas dire inexistants, dans l'aide VBA.

Cordialement.
 
Re : recherche sans préfixe ni suffixe

après 2 / 3 essais, je pense qu'il faut mettre :

Code:
Selection.Find(What:="100", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
"le paramètre "wholeword" doit se trouver dans LookAt, sous la forme "xlWhole"

et là ça fonctionne

(trouvé avec l'enregistreur de macro)
 
Re : recherche sans préfixe ni suffixe

après 2 / 3 essais, je pense qu'il faut mettre :

Code:
Selection.Find(What:="100", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
        xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
        , SearchFormat:=False).Activate
"le paramètre "wholeword" doit se trouver dans LookAt, sous la forme "xlWhole"

et là ça fonctionne

(trouvé avec l'enregistreur de macro)

Effectivement francedemo, là ça fonctionne.

Habituellement, j'utilise systématiquement la fonction Find avec LookAt:=xlWhole, mais sans vraiment savoir le sens exact de cette expression. Et il est vrai que ça me pose rarement problème, mais là je n'y avais pas pensé. D'autre part, j'écris plutôt habituellemnt LookIn:=xlValues car je pensais que xlFormulas ne fonctionnait qu'avec les formules ce qui apparemment n'est pas le cas. On en apprend tous les jours !

Cordialement.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
3
Affichages
639
Réponses
12
Affichages
1 K
V
Réponses
4
Affichages
3 K
Valentin94
V
A
Réponses
9
Affichages
3 K
O
Réponses
20
Affichages
4 K
O
Retour