Permutation d'une combinaison

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 !

MoiMajid

XLDnaute Nouveau
Bonjour,je voudrais réussir a écrire une la suite ABCDEFGA sous toutes les combinaisons possible. c a d : ABCDEFGA , ABCDEGFA , ABCDGEFA , ..........

Je ne sais pas si c'est possible rien qu'avec excel ou est ce qu'il faut obligatoirement utiliser des macros sachant que je suis débutant en Macro.

Merci d'avance pour vos réponses ou indications.
 
Re : Permutation d'une combinaison

Bonjour

Comme d'hab, c'est bien de correctment définir le besoin dès le début.

Ceci dit, je pense qu'il faudra passer par une macro pour faire ce dont tu as besoin. Je me souviens avoir fait cela vers 1985 en basic, mais en VBA, je ne sais pas faire... D'autres sur ce forum...

@ plus
 
Re : Permutation d'une combinaison

Bonjour à tous

Comment saluer Myrna Larson et Gael dans le même fil ?
En citant la PJ de celui-ci 😉
https://www.excel-downloads.com/threads/combinaison-possible-avec-8-lettres.56239/

Merci MoiMajid de m'en avoir donné l'occasion.

PS1: En plus avec le lien de Misange (que je salue au passage)
On satisait les acharnés de la Cellule qui font par eux-même
et avec la PJ de Gael on satisfait ceux qui préfèrent ouvrir des classeurs autofonctionnels 😉

PS2: Je vais de ce pas chercher dans mes archives le link vers la discussion originale dans laquelle Myrna posta son bijou il y a déjà un bail.
EDITION: le voici
http://groups.google.com/group/micr...eee92452c83c?hl=fr&dmode=source&output=gplain
Tu vois MoiMajid, cela fait 10 ans et plus que Myrna posta son bien beau code
(C'est tout ce qu'il y avait retenir dans ce PS2, la date du post d'origine : 25/7/2000, donc quand tu as un souci, dis toi que d'autres ont du déjà du le rencontrer avant toi 😉 )

Misange: quiproquo levé ?

 
Dernière édition:
Re : Permutation d'une combinaison

Re


En général quand je pense à Myrna, juste après je pense au Grand John
Donc voici du John WalkenBach dans le texte
(MoiMajid: je te laisse traduire l'english en français)
VB:
Dim CurrentRow

Sub GetString()
    Dim InString As String
    InString = InputBox("Enter text to permute:")
    If Len(InString) < 2 Then Exit Sub
    If Len(InString) >= 8 Then
        MsgBox "Too many permutations!"
        Exit Sub
    Else
        ActiveSheet.Columns(1).Clear
        CurrentRow = 1
        Call GetPermutation("", InString)
    End If
End Sub

Sub GetPermutation(x As String, y As String)
'   The source of this algorithm is unknown
    Dim i As Integer, j As Integer
    j = Len(y)
    If j < 2 Then
        Cells(CurrentRow, 1) = x & y
        CurrentRow = CurrentRow + 1
    Else
        For i = 1 To j
            Call GetPermutation(x + Mid(y, i, 1), _
            Left(y, i - 1) + Right(y, j - i))
        Next
    End If
End Sub

PS: que ceux qui ont lu ont liront ce fil (voir lien ci-dessous) que je proposais en 2008, viennent plutôt le lire dans ce fil ci.
https://www.excel-downloads.com/threads/combinaisons-de-lettres-toutes.108025/
Ils auront moins mal aux yeux 😉
mais c'est bien le même code dans les cas (mais dans l'un le gang des balises BBCODE trash a frappé sans prévenir)
 
Dernière édition:
Re : Permutation d'une combinaison

Merci infiniment tu me sauve la vie.
c'est juste que si j'ai envie de changer le code pour que le A au début et a la fin ne change pas, parce que c'est sensé être des chemins où A est le point de départ et d'arrivée je galère un peu si t'as une idée.
 
Re : Permutation d'une combinaison

Bonjour à tous

Comment saluer Myrna Larson [...]


PS2: Pour ceux qui aiment l'odeur du jus originel, je vais de ce pas chercher dans mes archives le link vers la discussion originale dans laquelle Myrna posta son bijou il y a déjà un bail.

Hello Staple
Juste pour que les choses soient claires, Myrna m'a explicitement autorisée à mettre son code sur excelabo. Il y a comme ça quelques MVP qui m'ont non seulement autorisée à le faire (Myrna, John Walkenbach, Bob Philips, Nate Oliver...) mais qui m'y ont encouragée comme Jon Peltier, Jan Karel Pieterse, Ron De Bruin. Sans parler de Laurent Longre bien entendu. Le site de laurent est du reste en rade et si ça perdure, je le remettrai en ligne sur mon serveur puisque Laurent m'a filé tout le contenu pour le cas ou ceci se produirait.
J'essaie toujours de rendre à César ce qui lui appartient, même si parfois ce n'est pas évident car les mêmes astuces peuvent être attribuées à plusieurs "découvreurs" et amélioreurs. Pour les code VBA c'est souvent plus facile.
 
Re : Permutation d'une combinaison

oui bien sûr c'est ce que je tente de faire mais comme je l'ai dit plus tôt je suis débutant en VBA. je vois comment effectuer les permutation merci a john et sample mais ensuite il faut comme tu dis concatener A au début et a la fin mais aussi supprimer les par exemple ABCDEFGA et AGFEDCBA car même chemin et meme pour concatener je ne vois pas dans le code de output pour lui dire de sortir le résultat concaténé.(dsl vraiment débutant VBA vais lire des cours et voir si je m'en sors) merci tout le monde.
 
Re : Permutation d'une combinaison

Voila dsl pour le dérangement j'ai plus ou moins réussi la concaténation de A au début et fin. il faut mnt éliminer les doublons j'ai des notions en programaation donc je sais plus ou moins quoi faire comparer les chaines de caractere a l'endroit et a l'envers pours voir les doublons mais comment on fait pour spécifier au code qu'il doit le faire pour une certaine colonne
 
- 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

  • Question Question
Microsoft 365 Personal.xlsb
Réponses
4
Affichages
272
  • Question Question
Autres quinté+
Réponses
2
Affichages
624
Retour