KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment générer ou lister toutes les permutations possibles dans Excel ?

AuteurXiaoyang Date de modification

Par exemple, j’ai trois caractères XYZ. Je souhaite maintenant lister toutes les permutations possibles à partir de ces trois caractères afin d’obtenir six résultats différents : XYZ, XZY, YXZ, YZX, ZXY et ZYX. Dans Excel, comment générer ou lister rapidement toutes les permutations en fonction d’un nombre variable de caractères ?

Générer ou lister toutes les permutations possibles à partir de caractères à l’aide d’un code VBA


flèche bleue vers la bulle droite Générer ou lister toutes les permutations possibles à partir de caractères à l’aide d’un code VBA

Le code VBA suivant vous permet de générer toutes les permutations selon le nombre exact de lettres que vous spécifiez. Voici la marche à suivre :

1. Maintenez enfoncées les touches ALT + F11 pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.

2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.

Code VBA : Lister toutes les permutations possibles dans Excel

Sub GetString()
'Updateby Extendoffice
    Dim xStr As String
    Dim FRow As Long
    Dim xScreen As Boolean
    xScreen = Application.ScreenUpdating
    Application.ScreenUpdating = False
    xStr = Application.InputBox("Enter text to permute:", "Kutools for Excel", , , , , , 2)
    If Len(xStr) < 2 Then Exit Sub
    If Len(xStr) >= 8 Then
        MsgBox "Too many permutations!", vbInformation, "Kutools for Excel"
        Exit Sub
    Else
        ActiveSheet.Columns(1).Clear
        FRow = 1
        Call GetPermutation("", xStr, FRow)
    End If
    Application.ScreenUpdating = xScreen
End Sub
Sub GetPermutation(Str1 As String, Str2 As String, ByRef xRow As Long)
    Dim i As Integer, xLen As Integer
    xLen = Len(Str2)
    If xLen < 2 Then
        Range("A" & xRow) = Str1 & Str2
        xRow = xRow + 1
    Else
        For i = 1 To xLen
            Call GetPermutation(Str1 + Mid(Str2, i, 1), Left(Str2, i - 1) + Right(Str2, xLen - i), xRow)
        Next
    End If
End Sub

3. Appuyez ensuite sur la touche F5 pour exécuter ce code. Une boîte de dialogue s’affiche alors afin que vous puissiez saisir les caractères dont vous souhaitez lister toutes les permutations (voir capture d’écran) :

saisissez les caractères dont vous souhaitez lister toutes les permutations dans la zone

4. Après avoir saisi les caractères, cliquez sur le bouton OK. Toutes les permutations possibles s’affichent alors dans la colonne A de la feuille de calcul active (voir capture d’écran) :

toutes les permutations possibles sont affichées

Remarque : si la longueur de la chaîne saisie est supérieure ou égale à 8 caractères, ce code ne fonctionnera pas en raison du nombre excessif de permutations.

la longueur du caractère saisi n’est pas égale ou supérieure à 8 caractères


Lister ou générer toutes les combinaisons possibles à partir de plusieurs colonnes

Si vous devez générer toutes les combinaisons possibles à partir des données de plusieurs colonnes, il se peut qu’il n’existe pas de méthode efficace pour accomplir cette tâche. Heureusement, la fonctionnalité Kutools pour Excel intitulée Lister toutes les combinaisons vous permet de lister rapidement et facilement toutes les combinaisons possibles.Cliquez pour télécharger Kutools pour Excel !

liste de toutes les combinaisons par kutools

Kutools pour Excel: avec plus de 300 compléments Excel pratiques, essayez gratuitement sans aucune limitation pendant 30 jours.Téléchargez et essayez dès maintenant !

Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels