lister des combinaisons

  • Initiateur de la discussion Initiateur de la discussion JJ
  • 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 !

J

JJ

Guest
Bonsoir au Forum,
Pour les besoins d'un programme, il me faudrait le listage de toutes les combinaisons de 6 lettres (ou nombres peu importe), je le vois mal réalisable par formule, donc si qqun peut m'aider par une macro, (je n'ai besoin que du résultat sous Excel), par ex les combinaisons, pour les 6 lettres a, b,c,d,e et f, allant de aaaaaa à ffffff.
Merci de votre aide
Bonne soirée
 
Bonsoir JJ

Voici un exemple de code qui te determinera la liste des 'mots' de 6 lettres
L'hypothese est que les six lettres sont dans les six cases de la premiere ligne

Code:
Sub concatener()
Dim resul As String
Dim a, b, c, d, e, f, k As Integer

k = 6
For a = 1 To 6
    For b = 1 To 6
        For c = 1 To 6
            For d = 1 To 6
                For e = 1 To 6
                    For f = 1 To 6
                    
        resul = Cells(1, a) & Cells(1, b) & Cells(1, c) & Cells(1, d) & Cells(1, e) & Cells(1, f)
        Cells(k, a) = resul
        k = k + 1
                    Next f
                Next e
            Next d
        Next c
    Next b
    k = 6
Next a
End Sub

Attention tu as un certain nombre de possibilités (46656 si j'ai bien compté)

A bientot
 
Bonjour,
je t'envoie le bon'sujet' pour une petite modification de ton code:

Il s'agit de 5 lettres (et non 6) mais toujours pour une combinaisons de 6, donc, si je suis moins fatigué que hier soir !!,:

de aaaaab à deeeee

merci
Bonne AM
 
Bonsoir,

Je ne sias pas si tu es moins fatigué mais de mon point de vue le fait de n'avoir 5 lettres pour des mots de 6 lettres n'empechent d'avoir les 6 identiques. Donc j'ai travaillé sur des mots de 'aaaaaa' à 'eeeeee'.

Voici le code

Code:
Sub concatener()
Dim resul As String
Dim a, b, c, d, e, f, k As Integer

k = 6
For a = 1 To 5
    For b = 1 To 5
        For c = 1 To 5
            For d = 1 To 5
                For e = 1 To 5
                    For f = 1 To 5
                    
        resul = Cells(1, a) & Cells(1, b) & Cells(1, c) & Cells(1, d) & Cells(1, e) & Cells(1, f)
        Cells(k, a) = resul
        k = k + 1
                    Next f
                Next e
            Next d
        Next c
    Next b
    k = 6
Next a
End Sub

En esperant que cela repond à tes attentes :whistle:
 
Bonsoir Joshua et merci pour ton code que je vais essayer demain.
C'est vrai que je m'explique mal et que j'aurais du faire un fichier ex.

Je te donne un ex pour que tu comprennes ma pensée:

Tu as 6 numéros au loto. =6
Tu as U D V T Q (unités, diz, vingt, trent, quarantaine)=5
Donc il ne peut pas y avoir une cinquantaine , donc pour 6 numeros il y aura forcement 'répétition' d'une lettre,
ex
UDVTQU et non 6 lettres identiques.

je sais c'est pas évident!

par contre je sais le nombre de combinaisons de ce type: 5puis 5 *4= 12500
Bonne soirée
JJ
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

T
  • Question Question
Microsoft 365 Combinaisons
Réponses
14
Affichages
2 K
Retour