Verifier presence d'un mot dans une cellule

Fermé
Sandy34 - 2 janv. 2012 à 20:50
 sandy34 - 3 janv. 2012 à 11:01
Bonjour,

Je cherche à vérifier la présence d'une chaine de caractère dans une cellule

exemple

Présence des lettres PIZ dans une liste de cellule.

Hors je peux avoir pizza Olives ou sauce Piz et je veux pouvoir les sélectionnées toutes les deux.

Le problème est que je ne veux pas écrire le mot PIZ dans ma macro car j'ai plusieurs mots à rechercher

j'avais utilisé le code suivant :

If ActiveCell.Text Like "*piz*" Then cela marche

mais avec

If ActiveCell.Text Like Cells(X, 1).Text Then (Cells(X, 1) contient PIZ) cela ne marche que si la cellule active ne contient que PIZ



je pensais pouvoir extraire les caractères PIZ mais ils ne sont pas toujours positionné au même endroit dans la cellule

Je ne sais pas si je suis assez clair dans mes explications

Cordialement


A+




2 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 193
2 janv. 2012 à 22:08
Bonjour,
Avec l'opérateur Like tu doit faire une boucle pour trouver toute les occurrences recherchées.
Je pense qu'il vaudrait mieux employer un filtre automatique personnaliser.
Tu peu le faire manuellement par...
Sélectionner la cellule A1 (par exemple) et mettre un filtre automatique.
Ensuite appliquer un filtre textuels.
Ou par macro voir la fonction AutoFilter
ActiveSheet.Range("$A$2:$A$300").AutoFilter Field:=1, Criteria1:="=*PIZ*", _
        Operator:=xlAnd

A+
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 762
2 janv. 2012 à 23:47
Bonjour,

Essaies :
If ActiveCell.Text Like "*" & Cells(X, 1).Text & "*" Then
0
Bonjour,

Super c'est exatement ce qu'il me fallait !

Merci Beauceaup
0