Vba Excel Chaine caractère recherche multiple

Résolu/Fermé
Tortue3 Messages postés 8 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 26 septembre 2007 - 21 sept. 2007 à 17:12
 cgayou - 21 sept. 2009 à 16:25
Salut,
Je voudrais écrire une macro excel pour vérifier si ce que contient ma cellule appartient à une liste de valeurs que j'ai définie ou qui est présente dans une plage de cellules que j'indique dans ma macro. Si oui la macro devra faire telle chose
Par exemple j'ai une importante liste de mots prédéfinie : mairie, conseil général, conseil régional, société, etc... Donc, cette liste peut être soit dans une plage de cellules soit précisée dans la macro.
Je veux savoir si ma cellule contient un de ces mots et si oui faire telle action

Du genre :
If maCellule Is In (mairie, conseil général, conseil régional, société, etc... ) then...

ou

If maCellule like (mairie, conseil général, conseil régional, société, etc... ) then... pour une recherche sur certains mots dans ma cellule de départ

Merci
A voir également:

8 réponses

ShaBoo Messages postés 392 Date d'inscription mercredi 12 septembre 2007 Statut Membre Dernière intervention 5 septembre 2009 50
21 sept. 2007 à 17:26
Bonjour,

Tu peux déjà regarder ceci :

vba je suis bloquer#28
1
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
21 sept. 2007 à 17:27
Bonjour,

ce que tu demandes est sûrement faisable mais trop vague...
"faire telle action" : quelle action ? ça peut changer du tout au tout, ne pas etre obligé d'utiliser VBA ou au contraire totalement irrealiste même en vba.

Détaille un peu plus, ou mieux si c'est un peu complexe : fais une ébauche de feuille avec les données que tu as et ce que tu aimerais obtenir, dépose là sur www.cijoint.com et colle le lien ici.
eric
0
Bonjour,
J'ai un fichier qui fait plusieurs lignes. Je cherche en fait à faire ressortir les incohérences de saisie entre deux champs : un champ NOM (colonne B) et un champ NATURE JURIDIQUE (Colonne C). Je souhaiterais que la macro pour chaque ligne :

1 - identifie à partir d'une partie du champ NOM (LIKE "*MAIRIE*" par exemple) les incohérences avec le champ NATURE JURIDIQUE
2 - applique une couleur (verte par exemple) aux cellules incohérentes dans la colonne B et C

Par exemple : si la première ligne contient "MAIRIE DE VERSAILLES" dans la colonne B et "1" dans colonne C qui correspond à la nature juridique "personne physique", faire ressortir les cellules B1 et C1 en vert.
Idem si par exemple la ligne 40 contient "CONSEIL GENRAL DES YVELINES" dans la colonne B et "1" dans colonne C, faire ressortir les cellules B40 et C40 en vert.
En revanche, ne rien faire ressortir en B32 et C32, si la 32ème ligne ne contient aucun mot de la liste prédéfinie (mairie, conseil général, conseil régional, société, etc... ) dans la colonne B et contient "1" en C.

Voilà...
0
Tortue3 Messages postés 8 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 26 septembre 2007
24 sept. 2007 à 09:49
Bonjour,
J'ai un fichier qui fait plusieurs lignes. Je cherche en fait à faire ressortir les incohérences de saisie entre deux champs : un champ NOM (colonne B) et un champ NATURE JURIDIQUE (Colonne C). Je souhaiterais que la macro pour chaque ligne :

1 - identifie à partir d'une partie du champ NOM (LIKE "*MAIRIE*" par exemple) les incohérences avec le champ NATURE JURIDIQUE
2 - applique une couleur (verte par exemple) aux cellules incohérentes dans la colonne B et C

Par exemple : si la première ligne contient "MAIRIE DE VERSAILLES" dans la colonne B et "1" dans colonne C qui correspond à la nature juridique "personne physique", faire ressortir les cellules B1 et C1 en vert.
Idem si par exemple la ligne 40 contient "CONSEIL GENRAL DES YVELINES" dans la colonne B et "1" dans colonne C, faire ressortir les cellules B40 et C40 en vert.
En revanche, ne rien faire ressortir en B32 et C32, si la 32ème ligne ne contient aucun mot de la liste prédéfinie (mairie, conseil général, conseil régional, société, etc... ) dans la colonne B et contient "1" en C.

Voilà...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
24 sept. 2007 à 21:22
Bonsoir Tortue3,

Voici une solution à ton pb, sauf que j'ai mis vert quand c'est ok et rouge quand c'est non ok
et que je colorie quand le nom est nom ok mais ça tu peux mettre les 3 lignes en commentaire
J'ai faim donc je n'ai pas le temps détailler, plus tard si tu veux... ;-)
http://www.cijoint.fr/cij38444400026654.xls

Eric
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
24 sept. 2007 à 22:03
J'ai mangé, ça va mieux
J'ai oublié de te dire le principe : sélectionner les cellules où se trouvent les noms avant de lancer la macro.
La couleur de fond n'est codée en dur mais récupérée sur les cellules ok et nok que tu peux changer
Bonne soirée
eric
0
guillaumB Messages postés 1 Date d'inscription dimanche 14 juin 2009 Statut Membre Dernière intervention 14 juin 2009
14 juin 2009 à 20:52
Bonjour Eric,

J’ai lu ta réponse à Tortue3, il y a 2 ans… Je rencontre les mêmes difficultés pour trouver un mot d’une chaine de caractères dans une cellule excel. Le lien http://www.cijoint.fr/cij38444400026654.xls n’est plus actif. Peux-tu me renvoyer le fichier ? Merci
0
Tortue3 Messages postés 8 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 26 septembre 2007
26 sept. 2007 à 12:35
Merci beaucoup. Ca marche...
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
14 juin 2009 à 22:10
Bonjour,

Ce qui est valable pour un cas n'est peut-être pas adapté à ton cas (de toute façon je n'archive pas tous les fichiers exemple).
Je t'invite à créer une nouvelle discussion pour y décrire précisément ton besoin.
Le mieux est quand il y a un fichier exemple (tu peux le déposer sur cijoint.fr et coller dans ton post le lien fourni).
Si tu veux tu pourras coller ici le lien vers ta discussion

eric
0
Bonjour,

Je n'arrive pas à trouver la formule pour résoudre mon pb :
1er onglet avec des cellules qui contiennent des descriptions de cuisine
1ème onglet avec une liste de mot à laquelle correspond une caractéristique (exemple : accras, boudin, tagine ... avec la caractéristique "cuisine du monde", magret, cassoulet, quiche alsacienne avec la caractéristique "cuisine terroir français"...
j'aimerai avoir une formule ou une macro qui lorsqu'elle reconnait un des mots sur l'onglet 2 alors elle met en face de la description dans le premier onglet la caractéristique associée

qui peut m'aider ?
0