1ère voyelle d'un mot dans Excel

Résolu
DoRoDoR Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
DoRoDoR Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Je voudrais faire une formule qui extrait la première voyelle en minuscule sans accents, d'une cellule par ex. A1 qui contiendrait un mot  (possiblement en minuscule ou en majuscule)

par ex. A1 = "Dominique", A2 contiendrait une fonction qui renvoie "o"
si A1 = "aeiou", A2 renvoie "a"
si A1 = "DMQ", A2 renvoie "N/A"

J'ai regardé la fonction Regex mais cela semble trop compliqué pour moi.

Merci pour votre aide.

si ALinux / Firefox 137.0

4 réponses

Résumé de la discussion

Le problème consiste à extraire la première voyelle sans accent et en minuscule d'un mot dans une cellule (par exemple A1), et à renvoyer "N/A" s'il n'y en a aucune.
En LibreOffice, la solution efficace est =REGEX(MINUSCULE(A1); "[aeiouy]"), qui renvoie directement la première voyelle rencontrée.
Sous Excel, pour les versions non 365, on peut utiliser STXT avec AGREGAT et CHERCHE sur les voyelles ("a";"e";"i";"o";"u";"y") pour obtenir la position puis extraire le caractère, avec une variante utilisant SIERREUR pour gérer le cas sans voyelle et en incluant les voyelles accentuées.
Pour Excel 365, la solution simple est =REGEX.EXTRAIRE(A1;"[aeiouyAEIOUY]"), qui renvoie la première voyelle sans accent.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. danielc0 Messages postés 2191 Date d'inscription   Statut Membre Dernière intervention   287
     

    Bonjour,

    Essaie :

    =STXT(A1;MIN(SIERREUR(CHERCHE({"a";"e";"i";"o";"u";"y";"à";"é";"è";"ê";"î";"ô";"û";"ü";"ë";"â"};MINUSCULE(A1));FAUX));1)

    Daniel


    0
    1. brucine Messages postés 24849 Date d'inscription   Statut Membre Dernière intervention   4 170
       

      Bonjour,

      Sauf si j'ai mal lu, la recherche doit porter sur les voyelles sans accent mais il est dit plus loin possiblement en majuscule.

      CHERCHE est indifférent à la casse et retourne a ou A sans quoi il faut utiliser TROUVE et bien sûr spécifier dans la recherche "a";"A";...

      Dans le premier cas de figure ne suffit-il pas, testant si on le souhaite l'erreur si la cellule ne contient aucune voyelle:

      =CHERCHE({"a";"e";"i";"o";"u;";"y"};A11)

      0
      1. brucine Messages postés 24849 Date d'inscription   Statut Membre Dernière intervention   4 170 > brucine Messages postés 24849 Date d'inscription   Statut Membre Dernière intervention  
         

        Pardon, on cherche bien sûr le caractère, pas seulement sa position:

        =STXT(A11;CHERCHE({"a";"e";"i";"o";"u;";"y"};A11);1)

        0
    2. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
       

      Bonjour danielc0

      J'ai essayé ta formule et sur mon Excel 2013 elle ne fonctionne que si on la valide en matricielle Ctrl+Maj+Enter

      Cordialement

      0
      1. danielc0 Messages postés 2191 Date d'inscription   Statut Membre Dernière intervention   287 > PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention  
         

        Bonjour,

        C'est fort possible. Avec Excel 365, la plupart des formules n'ont pas besoin d'être validées matriciellement. Je ne peux malheureusement pas le tester pour les versions précédentes.

        Cordialement.

        Daniel

        0
      2. bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91 > PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention  
         

        Hello

        @PapyLuc51 StatutMembre

        A la place du MIN(SIERREUR(... tu peux utiliser AGREGAT (disponible depuis Excel 2010) qui ne nécessite pas de validation matricielle :

        =STXT(A1;AGREGAT(15;6;CHERCHE({"a";"e";"i";"o";"u";"y"};MINUSCULE(A1));1);1)
        1
  2. bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91
     

    Hello,

    A tester avec les Regex (pour Excel 365) :

    =REGEX.EXTRAIRE(A1;"[aeiouyAEIOUY]")
    0
  3. DoRoDoR Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
     

    Merci à tous,  avec Libre Office la réponse 

    =STXT(A3,AGREGAT(15,6,CHERCHE({"a";"e";"i";"o";"u";"y"},MINUSCULE(A3)),1),1)

    fonctionne bien, merci ! 

    (A3 est la cellule contenant le  mot de départ)

    0
    1. bigoudiii Messages postés 276 Date d'inscription   Statut Membre Dernière intervention   91
       

      Hello,

      Alors avec LibreOffice tu peux aussi utiliser :

      =REGEX(MINUSCULE(A3);"[aeiouy]")
      1
  4. DoRoDoR Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
     

    Oui parfait !

    0