Chercher des lettres dans une cellule

commentcamarchea Messages postés 15 Statut Membre -  
danielc0 Messages postés 1950 Statut Membre -

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 23082 Statut Membre 3 583
 

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 15 Statut Membre
 

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 23082 Statut Membre 3 583
 

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 23082 Statut Membre 3 583 > brucine Messages postés 23082 Statut Membre
 

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 23082 Statut Membre 3 583 > brucine Messages postés 23082 Statut Membre
 

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 1950 Statut Membre 239
 

Bonjour à tous,

un peu tard, solution avec Excel 365 :

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

Daniel


0
brucine Messages postés 23082 Statut Membre 3 583
 

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 1950 Statut Membre 239 > brucine Messages postés 23082 Statut Membre
 

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 68 Date d'inscription   Statut Non membre Dernière intervention   6
 

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 23082 Statut Membre 3 583
 

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 68 Date d'inscription   Statut Non membre Dernière intervention   6 > brucine Messages postés 23082 Statut Membre
 

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 1950 Statut Membre 239
 

"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 1950 Statut Membre 239
 

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 68 Date d'inscription   Statut Non membre Dernière intervention   6
 

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

0
danielc0 Messages postés 1950 Statut Membre 239 > Nain_Porte_Quoi Messages postés 68 Date d'inscription   Statut Non 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 68 Date d'inscription   Statut Non membre Dernière intervention   6 > danielc0 Messages postés 1950 Statut Membre
 

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 23082 Statut Membre 3 583 > Nain_Porte_Quoi Messages postés 68 Date d'inscription   Statut Non 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 1950 Statut Membre 239 > Nain_Porte_Quoi Messages postés 68 Date d'inscription   Statut Non membre Dernière intervention  
 

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

Daniel

0