Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

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 !

Staple1600

XLDnaute Barbatruc
Bonsoir


Suite à un post de Brigitte dans le salon


Je cherche à créer une macro qui aura pour but de générer dans la colonne A d'une feuille une liste de caractères (mots) suivant un schéma indiquer en A1

Exempe: je saisis CV CVVC VCC CVVV

Et une liste se crée ( normalement quelque part dans cet liste apparaitra

LE CIEL EST BLEU

Qui pourrait m'aider ,svp?

Ce que j'ai déjà (mais comment gérer les doublons
Code:
tab_voy = Split("a/e/i/o/u/y", "/")
'pour générer un voyelle
tab_voy(Int(Rnd * 5))
'pour générer un consonne
Cells(i, 1) =  Mid("bcdfghjklmnpqrstvwxz", Int(Rnd * 20) + 1, 1)
 
Dernière édition:
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Staple1600,

il doit exister des regles de la langue francaises qui empechent d'accoler telle lettre avec telle lettre
Je ne pense pas qu'il existe de telles règles !
Si un prof de français passait par ici, ce serait cool 😀

N'étant pas un matheux, il faut utiliser comment la fonction COMBIN
COMBIN(nombre_éléments;no_éléments_choisis)
Renvoie le nombre de combinaisons pour un nombre donné d'éléments. Utilisez COMBIN pour déterminer le nombre total de groupes qu'il est possible de former à partir d'un nombre donné d'éléments.

Donc ne nous sera pas utile dans ce cas, du moins je pense 😉

Ce qu'il faut c'est avoir une BdD des mots entre 140.000 et 270.000 d'après certains liens sur le net 😱

Ensuite il suffit d'effectuer une recherche du mot généré dans le dictionnaire, pfffff, peut-être un peu long !

A voir ...
 
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Re

Ca me rappelle l'histoire du chimpanzé laissé devant une machine à écrire

Au bout d'un certain nombres de siécles il aura réécrit tout shakspeare.

Bien que ma quête soit inutile , je persévère par amour du vba.

(curioisté suffira 😉 et pour faire plaisir à Brigittte.


BrunoM45

Pour savoir le nombre d'agencement de lettre dans un mot
il faut faire

COMBIN(26,2) +COMBIN(26,3) ....+ COMBIN(26,n) + ...COMBIN(26,26)
ce qui donne : 67 108 837,00 mots possibles (en comptant les mot inintelligibles)

Ca doit pas être ca non?

et en utilisant PERMUTATION j'obtiens
1 096 259 850 353 150 000 000 000 000

Dites que je me trompe dans mon raisonnement
 
Dernière édition:
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Bonsoir,
Si tant est qu'obtus ne te soit point obv😀
A+
kjin
 
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Bonsoir kjin

Merci d'avoir signalé cette erreur.


Tu penses que c'est possible en VBA de générer cette liste de mots
selon un schéma prédéfini et en excluant les mots inintelligibles ?
 
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Bonjour à tous,

Ce qu'il faut c'est avoir une BdD des mots entre 140.000 et 270.000 d'après certains liens sur le net 😱
Pour apporter ma maigre contribution, Ce lien n'existe plus (utile pour le Scrabble) de 348 000 mots

A+ à tous
 
Dernière édition:
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Bonsoir JCGL

Merci de te joindre au fil


Ton lien ne fonctionne pas

Le fichier est introuvable me dit la page

Question:
Est-ce qu'il possible de savoir la probabilté de tomber sur une valeur précise

Exemple: V=voyelle et C=consonne

Il pleut ----> donne VC CCVVC

On saisi donc VC CCVVC en A1
la macro se lance
et inscrit une chaine de caractère par ligne respectant
ce shéma.

au bout de combien de lignes
Il pleut apparaitra dans la feuille ?
 
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Re,

Exact pour le premier fichier qui est un peu lourd pour le FTP
Le second, qui va devenir le premier..., passe bien

A++
A+ à tous
 
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Bonsoir,
Tu penses que c'est possible en VBA de générer cette liste de mots
selon un schéma prédéfini et en excluant les mots inintelligibles ?
J'avoue avoir du mal à te suivre...
Il s'agit de savoir ce que tu cherches et surtout où, non ?
Tu parles de mot, mais "il pleut" n'est pas un mot, quand bien même avec un bon dictionnaire...
En outre V(oyelle)C(onsonne), peut renvoyer des syllabes telles que "il", "un", "on", "as"....et j'en passe.
Mon logiciel d'OCR est capable de certaines corrections grammaticales, mais ça reste aléatoire.
A+
kjin
 
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Re

Kjin: je reprecise ma pensée

On saisit dans une cellule ,le type de caractère (voyelle ou consonne) d'une chaine de caractère qui peut être un mot ou une phrase.

La macro génère toutes les permutations possibles en excluant les résultats
qui ne forment pas des mots existants dans la langue francaise

Exemple : eau

VVV

Comment estimer la probabilité d'apparition de ce mot dans la liste générée par la macro.

(=PERMUTATION(6;6) donne 720 permutations possibles)

En utiilsant ce code:
Excel Developer Tip: Generating Permutations j'obtiens bien 720 lignes
et la première occurence apparait à la 133ème ligne (Voir pièce jointe)

PS: cette histoire de macro est purement récréative
 

Pièces jointes

Dernière édition:
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Salut la gang de félés

Plusieurs points :

1. Si CV CVVC VCC CVVV = LE CIEL EST BLEU, L est donc une voyelle !!!
2. 239 mots trouvés avec bv (guebvillérois, obvenir, subvenir, subvertir et leurs conjugaisons)
3. 267 pour bt (bobtail, obtempérer, subtile, subtropical,...)
4. ODS est un bon dico, mais avec un minimum de 2 lettres et un maximum de 15

Sinon bonne chance... 🙂

Ya'v ka pa komenC
 
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Bonjour Ya'v ka

Merci d'avoir rectifier (errare humanum est)

Pour continuer dans la féléitude

Et en hommage au formulistes du forum

je vous invite à regarder la pièce jointe que voici

(A cause de la taille, j'ai du utiliser les macros pour copier les formules)



PS: je ne suis pas l'auteur des formules mais seulement du classeur et des macros.
 

Pièces jointes

Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Bonjour tout le monde,


Si je ne trompe pas, COMBIN donne le nombre de combinaison possible mais pas dans le désordre.
Exemple:
3 lettres pour un mot de 2 caractères donnera 3 réponses avec COMBIN:
12
13
23
mais pour ajouter les autres possibilités:
21
31
32
il faut ajouter la fonction FACT non?
Ca donnerai:
=COMBIN(3;2)*FACT(2) soit 6 combinaisons dans l'ordre "et le désordre".
Pour 26 lettres faisant un mot de 4 caractères:
=COMBIN(26;4)*FACT(4) soit 358800 possibilités?

En sachant que chaque lettre n'est utilisé qu'une seule fois dans le mot biensur...

Bonne journée.

Edit: au fait, avec le fichier ODS de JC (que je salut au passage 🙂), ça devrait simplifier la chose je pense JM, à creuser...
 
Dernière édition:
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Bonjour skoobi, bonjour à tous


Quand j'utilises la macro J. Walkenbach (dans le classuer du message de minuit 34) avec la chaine aeuioy , j'obtiens 720 permutations, quand j'essaie avec eau , j'obtiens 6.

Mais pour permuter par exemple trois voyelles : VVV

Il y aura PERMUTATION(6;3) *FACT(3) ?

Car cela donne 720 comme résultat (égale à PERMUTATION(6;6) )

J'ai du mail à comprendre

(Faut dire qu'il est encore tot)
 
Re : [VBA from Brigitte] Générer des séquences de lettres (voyelles/consonnes) ?

Re,

apparement, PERMUTATION fait la même chose que l'association COMBIN avec FACT:
PERMUTATION(3;3) donnera 6 possibilités en utilisant 3 lettres sur les 3 (aeu) pour faire un "mot" de 3 caractères.
PERMUTATION(6;3) donnera 120 possibilités en utilisant 3 lettres sur les 6 (aeuioy) pour faire un "mot" de 3 caractères.
PERMUTATION(6;6) donnera 720 possibilités en utilisant 6 lettres sur les 6 (aeuioy) pour faire un "mot" de 6 caractères.

Je crois que c'est ça...
 
Dernière édition:
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…