Trouver une chaine de caractère "exacte" dans une cellule

Résolu/Fermé
Fanch1744 Messages postés 8 Date d'inscription lundi 18 juillet 2022 Statut Membre Dernière intervention 3 mai 2023 - 18 juil. 2022 à 11:22
via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024 - 28 juil. 2022 à 17:22

Bonjour à tous,

je bloque sur le moyen de trouver une chaine de caractère "exacte" dans une cellule. la colonne objet de ma recherche peut contenir plusieurs chaine de caractères, par exemple, "président, administrateur, vice-président-délégué"

aucune difficulté pour trouver administrateur. en revanche quand je cherche président excel trouve "président" et "vice-président-délégué"

je m'en remet à votre sagacité, comment faire pour trouver uniquement la chaine "exacte"

Par avance Merci


A voir également:

11 réponses

Mike-31 Messages postés 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 5 099
Modifié le 18 juil. 2022 à 11:34

Bonjour,

Suivant ta version d'Excel

=EXACT(A2;"président")

après il faut voir ce que tu veux faire, mais simplement  =NB.SI(A2;"président") doit le faire


1
DjiDji59430 Messages postés 4114 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 23 septembre 2024 668
18 juil. 2022 à 11:31

Bonjour à tous,

Comment cherches-tu ?

Un fichier EXCEL (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur https://www.cjoint.com/ , ainsi que la version d'Excel, permettrait aux intervenants de répondre plus précisément à ta question.
Crdmt

0
jee pee Messages postés 40278 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 28 septembre 2024 9 349
18 juil. 2022 à 11:34

Bonjour,

Tu utilises quelle fonction/s ? TROUVE() et CHERCHE() vont chercher si la chaine est présente, pas l'égalité. L'égalité serait tout simplement

=SI(A1="Président";"P";SI(A1=("vice-président-délégué";"VP"; ....

0
Fanch1744 Messages postés 8 Date d'inscription lundi 18 juillet 2022 Statut Membre Dernière intervention 3 mai 2023
18 juil. 2022 à 11:44

merci à tous pour la rapidité de votre réponse,

je ne peux pas mettre mon fichier car il contient des données confidentielles. je travaille sur Excel 365. La piste de la formule "EXACTE" me parait intéressante et je vais la creuser. En fait dans un champ j'ai les "fonctions" au sein de l'association, qui peuvent être cumulées et j'ai besoin de remplir les colonnes "Président" - 1er Vice-président - vice-président - administrateur - etc. avec un X ou un 1 pour pouvoir par la suite faire des tris que sur une fonction.

je vous tiendrai informé. si ça ne marche pas je ferai un petit fichier exemple.

encore merci à tous

Cordialement


0

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

Posez votre question
Mike-31 Messages postés 18337 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 27 septembre 2024 5 099
18 juil. 2022 à 13:41

Re,

avec EXACT la formule te retourne VRAI ou FAUX mais suivant tes besoins tu peux récupérer 1 avec =SI(EXACT(A2;"président");1;"")

ou Président avec =SI(EXACT(A2;"président");"président";"") ou encore =SI(EXACT(A2;"président");A2;"")


0
Fanch1744 Messages postés 8 Date d'inscription lundi 18 juillet 2022 Statut Membre Dernière intervention 3 mai 2023
28 juil. 2022 à 15:37

re bonjour

mon problème tient au fait que mes chaines de caractères contiennent des "morceaux" identiques. par exemple président, vice-président, vice-président-délégué, ancien président et président contiennent tous la cahine "président".

de plus j'ai plusieurs champs qui peuvent avoir plusieurs fonction par exemple "ancien-président, président-délégué"

Merci

PS j'ai fait un petit fichier mais ne sait pas comment le joindre !


0
jee pee Messages postés 40278 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 28 septembre 2024 9 349
Modifié le 28 juil. 2022 à 15:45

Pour donner un fichier, il faut le déposer sur https://cjoint.com et donner sur le forum le lien généré avec le bouton bleu "Créer le lien"
 

Si une cellule comporte plusieurs fonctions, cela complique car on ne peut plus utiliser = ou EXACT(). Il faut peut être du VBA.

0
via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024 2 729
28 juil. 2022 à 16:35

Bonjour à tous

Avec une petite fonction personnalisée :

https://www.cjoint.com/c/LGCoISTrawu

Cdlmnt

Via


0
Fanch1744 Messages postés 8 Date d'inscription lundi 18 juillet 2022 Statut Membre Dernière intervention 3 mai 2023
28 juil. 2022 à 17:00

Franchement merci je suis bluffé, à la fois par la rapidité de la réponse et la réponse elle-même qui répond parfaitement à mon souhait.

je vais l'adapter avec un SI pour obtenir une croix ou un champ vide, c'est tout simplement parfait.

Mille merci bonne continuation


0
via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024 2 729
28 juil. 2022 à 17:10

Pas besoin de rajouter un SI tu peux modifier la macro ainsi pour obtenir la même chose :

Function retrouve(chaine As Range, mot As Range)
tot = ""
nouv = WorksheetFunction.Substitute(chaine, ",", " ") ' remplace les virgules par des espaces
tablo = Split(nouv, " ") ' decoupe la cjhaine selon les espaces
For n = 0 To UBound(tablo) ' boucle sur les parties de la chaine découpée
If tablo(n) = mot.Value Then tot = "X" 'variable à X si partie=mot choisi
Next
retrouve = tot
End Function

0
Fanch1744 Messages postés 8 Date d'inscription lundi 18 juillet 2022 Statut Membre Dernière intervention 3 mai 2023
Modifié le 28 juil. 2022 à 17:18

j'aurai du avec une lecture plus approfondie de la macro trouver cette amélioration !

j'ai de la marge de progression pour le VBA ;-)

mille merci

Bien cdlmnt


0
via55 Messages postés 14476 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 septembre 2024 2 729
28 juil. 2022 à 17:22

Bonne continuation alors ☺


0