Chercher des lettres dans une cellule

commentcamarchea Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

La cellule A1 contient une série des lettres et chiffres, et nous voulons que la formule renvoie la première lettre rencontrée parmi "A", "J" et "V".

Merci

5 réponses

brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention   3 406
 

Bonjour,

Tu as déjà posé puis supprimé la même question pour d'autres lettres, j'ai la flemme de faire la modification (et j'ai fait la formule pour une source en A4).

C'est une formule matricielle à valider par Ctrl+Maj+Entrée

=SIERREUR(SI(CHERCHE({"j";"f";"v"};A4)>SIERREUR(CHERCHE({"a";"b";"c";"d";"e";"g";"h";"i";"k";"l";"m";"n";"o";"p";"q";"r";"s";"t";"u";"w";"x";"y";"z"};A4);0);STXT(A4;CHERCHE({"j";"f";"v"};A4);1);"");"")

0
commentcamarchea Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 

Merci pour l réponse, mais est le modérateur qui l'a supprimée"Merci pour la réponse, mais c'est le modérateur qui l'a supprimée.

0
brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention   3 406
 

Cela ne t'interdit pas non plus de répondre aux questions que tu poses.

https://forums.commentcamarche.net/forum/affich-38163556-afficher-le-temps-restant

0
brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention   3 406 > brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention  
 

La modification, à part A4, consiste bien sûr à mettre les lettres cherchées au début et à la fin et celles qui ne le sont pas au milieu.

0
brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention   3 406 > brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention  
 

Je me suis mélangé les pinceaux, la formule ci-dessus rend les lettres dans l'ordre de recherche.

à tester ici où l'ordre doit être indifférent, à adapter, A=65, B=66...
200 c'est n'importe quoi si la lettre cherchée n'existe pas pour être sûr que par ailleurs le minimum est inférieur.

=STXT(A4;MIN(SIERREUR(CNUM(CHERCHE(CAR(70);A4));200);SIERREUR(CNUM(CHERCHE(CAR(76);A4));200);SIERREUR(CNUM(CHERCHE(CAR(86);A4));200));1)

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229
 

Bonjour à tous,

un peu tard, solution avec Excel 365 :

=REGEX_EXTRACT(A1;"[A|J|V]")

Daniel


0
brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention   3 406
 

Bonjour,

Comme je l'ai souligné par ailleurs, un certain nombre de formules sont beaucoup plus digestes avec Excel 365, je n'ai pas cet article pour faire le cobaye, je ne fais que le candide pour ma culture personnelle.

L'expression régulière ne rend-elle pas comme dans ma formule malencontreuse en <1> le résultat dans l'ordre de recherche ("a" au lieu de "j" dans "je danse une valse"?).

Y-a-t-il un message d'erreur dans une chaîne qui ne contiendrait aucun des caractères recherchés ("il est gris")?

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

" un certain nombre de formules sont beaucoup plus digestes avec Excel 365"

Je dirais qu'elles sont infiniment plus puissantes que ce qu'on a rencontré jusque là dans Excel. Elles peuvent être très complexes. Au point que MS a sorti un outil pour les analyser.

0
Nain_Porte_Quoi Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   2
 

Hello,

@danielc0 StatutMembre avec l'actuel 365 FR (2501) le syntaxe est REGEX.EXTRAIRE

ce qui donnerait : =SIERREUR(REGEX.EXTRAIRE(A1;"[AJV]");"")

et si on veut la position de la lettre =SIERREUR(CHERCHE(REGEX.EXTRAIRE(A1;"[AJV]");A1);"")

@brucine StatutMembre personne ne vous oblige à utiliser 365 et vous n'avez pas à vous justifiez ; C'est juste que c'est une version actuelle et qu'il serait dommage de ne pas utiliser ces nouvelles fonctionnalités en gardant d'anciennes formules plus ou moins alambiqué et complexe à lire/comprendre.

Bonne journée à tous

0
brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention   3 406
 

Bonjour,

Ne pas utiliser 365 revient en effet parfois à utiliser des formules complexes mais dont je ne me sers dans la pratique à peu près jamais autrement que pour ici le "plaisir" de voir si elles fonctionnent ou pas (et accessoirement de pouvoir répondre à un auteur qui lui-même n'utilise pas 365).

La condition SIERREUR semble répondre à ma deuxième question en <7>.

Quid de la première, la syntaxe recherche-t-elle l'existence des caractères recherchés dans l'ordre AJV?

0
Nain_Porte_Quoi Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   2 > brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention  
 

Hello Brucine,

pas d'ordre, c'est le premier trouvé qui s'affiche.

NB : je n'ai pas besoin moi non plus des fonctionnalités 365, simplement je prend comme vous du plaisir à me casser la tête  :-)

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229
 

"avec l'actuel 365 FR (2501) le syntaxe est REGEX.EXTRAIRE"

cf. post <10>.

Daniel

0

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

Posez votre question
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229
 

Bonjour,

Désolé, j'ai utilisé la fonction d'Excel pratique au lieu de la fonction Excel. Voici un exemple de résultat :

=REGEX.EXTRAIRE(A1;"[a|j|v]";;1) (indifférent à la casse)

ou

=REGEX.EXTRAIRE(A1;"[a|j|v]") (respecte la casse)

Pour le message d'erreur :

=SI(REGEX.TEST(A1;"[a|j|v]";1);REGEX.EXTRAIRE(A1;"[a|j|v]";;1);"Pas trouvé")

Daniel


0
Nain_Porte_Quoi Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   2
 

Hello Danielc0, qu'apporte le "|" ? Je ne vois pas de différence avec ou sans

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > Nain_Porte_Quoi Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

Effectivement, rien. Je suis novice en ce qui concerne les expressions régulières (c'est si vieux !). Aussi mes syntaxes ne sont peut-être pas les plus simples. Je peux juste dire qu'elles fonctionnent.

Daniel

0
Nain_Porte_Quoi Messages postés 52 Date d'inscription   Statut Membre Dernière intervention   2 > danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention  
 

Merci, je suis au moins aussi novice que vous et pour m'aider j'utilise ce site : https://regex101.com/

0
brucine Messages postés 21615 Date d'inscription   Statut Membre Dernière intervention   3 406 > Nain_Porte_Quoi Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 

En dehors de celles propres à Excel (y compris par exemple dans le Rechercher-Remplacer), je me suis "amusé"  à en mettre un certain nombre en place dans Mailwasher.

Elles peuvent être très complexes et il n'est pas certain que telle syntaxe Regex soit universelle ou utilisable dans tel logiciel.

0
danielc0 Messages postés 1856 Date d'inscription   Statut Membre Dernière intervention   229 > Nain_Porte_Quoi Messages postés 52 Date d'inscription   Statut Membre Dernière intervention  
 

C'est noté. Ca  a l'air super intéressant.

Daniel

0