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

Résolu
Fanch1744 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   -

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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 

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 4253 Date d'inscription   Statut Membre Dernière intervention   700
 

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 41515 Date d'inscription   Statut Modérateur Dernière intervention   9 716
 

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   Statut Membre Dernière intervention  
 

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 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 

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   Statut Membre Dernière intervention  
 

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 41515 Date d'inscription   Statut Modérateur Dernière intervention   9 716
 

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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 

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   Statut Membre Dernière intervention  
 

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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 

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   Statut Membre Dernière intervention  
 

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 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 

Bonne continuation alors ☺


0