Accéder au contenu principal

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

Author: Xiaoyang Last Modified: 2025-08-06

Par exemple, j'ai trois caractères XYZ, et maintenant, je souhaite lister toutes les permutations possibles basées sur ces trois caractères pour obtenir six résultats différents comme ceci : XYZ, XZY, YXZ, YZX, ZXY et ZYX. Dans Excel, comment pourriez-vous rapidement générer ou lister toutes les permutations en fonction d'un nombre différent de caractères ?

Générer ou lister toutes les permutations possibles basées sur des caractères avec un code VBA


arrow blue right bubble Générer ou lister toutes les permutations possibles basées sur des caractères avec un code VBA

Le code VBA suivant peut vous aider à lister toutes les permutations en fonction de votre nombre spécifique de lettres. Veuillez procéder comme suit :

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

2. Cliquez sur Insérer > Module, puis collez le code suivant dans la fenêtre du module.

Code VBA : Liste de 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, et une boîte de dialogue apparaît pour vous rappeler d'entrer les caractères dont vous voulez lister toutes les permutations, voir capture d'écran :

enter the characters that you want to list all permutations in the box

4. Après avoir entré les caractères, cliquez ensuite sur le bouton OK, toutes les permutations possibles sont affichées dans la colonne A de la feuille de calcul active. Voir capture d'écran :

all the possible permutations are displayed

Remarque : Si la longueur des caractères entrés est égale ou supérieure à 8 caractères, ce code ne fonctionnera pas car il y a trop de permutations.

the entered character length is not equal or greater than 8 characters


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

Si vous devez générer toutes les combinaisons possibles basées sur les données de plusieurs colonnes, il se peut qu'il n'y ait pas de bonne méthode pour traiter cette tâche. Mais l'utilitaire Lister toutes les combinaisons de Kutools pour Excel peut vous aider à lister toutes les combinaisons possibles rapidement et facilement. Cliquez pour télécharger Kutools pour Excel !

list all combinations by kutools

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

Meilleurs outils de productivité Office

🤖 Kutools AI Aide : Révolutionnez l'analyse de données grâce à : Exécution intelligente   |  Générer du code  |  Créer des Formules personnalisées  |  Analyser des données et générer des graphiques  |  Appeler les Fonctions améliorées
Fonctionnalités populaires : Trouver, mettre en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Combiner les colonnes ou cellules sans perdre de données   |  Arrondir...
Super RECHERCHEV : Recherche multi-critères    Recherche multi-valeurs  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante avec sélection multiple ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer des colonnes  |  Basculer l’état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités à la une : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & de feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Chiffrer/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 des ensembles d’outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   Plus de50 types de graphiques (Diagramme de Gantt, ...)   |   Plus de40 formules intelligentes (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils dinsertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et bien plus encore
Utilisez Kutools dans votre langue préférée: compatible avec l’anglais, l’espagnol, l’allemand, le français, le chinois et plus de40 autres langues !

Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...


Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail

  • Activez la modification 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, au lieu d’ouvrir de nouvelles fenêtres.
  • Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!