voyelle consonne a trier

  • Initiateur de la discussion Initiateur de la discussion maximom
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

maximom

XLDnaute Nouveau
Bonjour,
j'ai un fichier de plusieurs milliers de nom de 4 lettres sur une seule colonne.
Existe t'il une solution pour que Excel me marque (par exemple avec un croix dans la colonne B) tout les noms composés de cette façon:
  1. consonne, voyelle, consonne, voyelle
  • consonne, voyelle, voyelle, consonne
Merci de vos remarques
 
Re : voyelle consonne a trier

Bonsoir,

Je ne comprends pas bien la finalité mais une proposition en VBA :
Code:
Sub décompose()
Dim i As Byte, j As Integer
Dim Consvoy As String
For i = 1 To Range("A1").End(xlDown).Row
Consvoy = ""
    For j = 1 To Len(Cells(i, "a"))
        If Mid(Cells(i, "a"), j, 1) = "a" Or Mid(Cells(i, "a"), j, 1) = "e" Or Mid(Cells(i, "a"), j, 1) = "i" Or Mid(Cells(i, "a"), j, 1) = "o" Or Mid(Cells(i, "a"), j, 1) = "u" Or Mid(Cells(i, "a"), j, 1) = "y" Then
            Consvoy = Consvoy & "V"
            Else
            Consvoy = Consvoy & "C"
        End If
    If Consvoy ="CVCV" or Consvoy = "CVVC" then Cells(i, "B") = "x"
    Next
Next
End Sub
qui donne la décomposition du mot

Cordialement
 
Re : voyelle consonne a trier

Bonjour maximom, Spitnolan,

Un essai à base de formules (en fonction de ce que j'ai compris) :

en colonne A, la liste de tes mots :

En B1 : =ESTNUM(EQUIV(STXT($A1;1;1);{"a";"e";"i";"o";"u";"y"};0))

En C1 : =NON(ESTNUM(EQUIV(STXT($A1;2;1);{"a";"e";"i";"o";"u";"y"};0)))

En D1 : =ESTNUM(EQUIV(STXT($A1;3;1);{"a";"e";"i";"o";"u";"y"};0))

En E1 : =NON(ESTNUM(EQUIV(STXT($A1;4;1);{"a";"e";"i";"o";"u";"y"};0)))

Ces formules retournent VRAI ou FAUX.

Possibilité d'additionner en une seule formule toutes ces formules. Si l'addition donne 4, c'est que les 4 formules sont VRAI

Si pas ça, revient avec plus de détail

@+
 
Re : voyelle consonne a trier

Bonjour le forum,

Merci Tibo pour ta proposition, par contre j'ai du mal à comprendre le résultat, peut etre qu'avec une seule formule qui récapitule les 4 autres, je verrai plus clair.

Merci aussi à Spitnolan08 pour cette macro, je l'ai aussi essayé et j'ai une erreur d'exécution a la ligne 8:
For i = 1 To Range("A1").End(xlDown).Row

Je vous remercie pour votre coup de main...

voici un peu plus de renseignement

j'ai ce genre de tableau sur environ 30000 lignes

bqdw
bqek
bqfg
beik
bamo
bqiw

et je souhaiterai obtenir ceci

bqdw o
bqek o
bqfg o
beik x
bamo x
bqiw o

je souhaite rapidement trouver tout les mots avec
- soit 2 voyelles au milieu du mot
- soit composé de 1 consonne suivi de 1 voyelle suivi de 1 consonne et terminé par 1 voyelle

Tous les mots font 4 lettres.

Merci de votre disponibilité
 
Re : voyelle consonne a trier

re maximom, resalut spitnolan,

La formule :

=SI(OU(NON(ESTNUM(EQUIV(STXT($A1;1;1);{"a";"e";"i";"o";"u";"y"};0)))+ESTNUM(EQUIV(STXT($A1;2;1);{"a";"e";"i";"o";"u";"y"};0))+NON(ESTNUM(EQUIV(STXT($A1;3;1);{"a";"e";"i";"o";"u";"y"};0)))+ESTNUM(EQUIV(STXT($A1;4;1);{"a";"e";"i";"o";"u";"y"};0))=4;NON(ESTNUM(EQUIV(STXT($A1;1;1);{"a";"e";"i";"o";"u";"y"};0)))+ESTNUM(EQUIV(STXT($A1;2;1);{"a";"e";"i";"o";"u";"y"};0))+ESTNUM(EQUIV(STXT($A1;3;1);{"a";"e";"i";"o";"u";"y"};0))+NON(ESTNUM(EQUIV(STXT($A1;4;1);{"a";"e";"i";"o";"u";"y"};0)))=4);"x";"o")

Bon, pour plus de prudence, je te joins le fichier avec la formule.

Voir formule en colonne C. Les autres colonnes ne sont pas utiles. C'étaient les colonnes de préparation de cette formule.

Essaye et dis nous.

@+
 

Pièces jointes

Re : voyelle consonne a trier

bonjour maximom

Salut Tibo
Salut Spitnolan08

ma version

@Tibo

pour m'amuser j'ai compté le nombre de caracteres de ta solution et de la mienne

505 contre 330

je n'en reste pas moins très admiratif d'un travail dont je suis definitivement incapable
 

Pièces jointes

Dernière édition:
Re : voyelle consonne a trier

re,

Une formule plus courte dédiée à Pierre Jean :

=SI(OU(NON(ESTNUM(TROUVE(STXT(A1;1;1);"aeiouy")))+ESTNUM(TROUVE(STXT(A1;2;1);"aeiouy"))+NON(ESTNUM(TROUVE(STXT(A1;3;1);"aeiouy")))+ESTNUM(TROUVE(STXT(A1;4;1);"aeiouy"))=4;NON(ESTNUM(TROUVE(STXT(A1;1;1);"aeiouy")))+ESTNUM(TROUVE(STXT(A1;2;1);"aeiouy"))+ESTNUM(TROUVE(STXT(A1;3;1);"aeiouy"))+NON(ESTNUM(TROUVE(STXT(A1;4;1);"aeiouy")))=4);"x";"o")

(344 caractères)

Amitiés

@+
 
Re : voyelle consonne a trier

Bonsoir le Fil, le Forum

Si on part de l'exemple de Maximom cad 4 lettres de l'alphabet en minuscule, cette formule devrait convenir :

=SI(PRODUIT(SOMME((({97;101;105;111;117;121}-CODE(STXT(A1;{1.2.3.4};1)))=0)*10^{3.2.1.0})-{110;101})=0;"x";"o"))

Bonne soirée

PhiBou
 
Re : voyelle consonne a trier

Bonsoir Phibou,

Impresionnant ta formule! Je n'ai pas tout compris : ça mérite une explication je crois...

Cependant, il faut que tu la vérifies, car elle ne me donne que des o.

Tibo, je crois qu"une nouvelle pointure en formule est arrivée!😛

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
6
Affichages
160
Retour