VBA et combinaisons

Résolu
Bonjour,

Voilà, j'essaie de créer une macro me permettant de faire des combinaisons. En détail, j'ai en colonne 1, 2 et 3 des noms. exple: X1, X2, X3
Je souhaite que dans les colonne suivantes il me fasse la combinaison des nom du type: X1X2, X1X3, X2X3 sachant que l'ordre n'a pas d'importance (donc X1X2=X2X1 !!).
De plus, j'ai fait en sorte que dans ma macro le nombre de nom (donc X..) est une variable donnée par l'utilisateur.

Voilà, j'espère avoir été clair. Ca fait déjà 2 jour que je buche dessus mais il veut rien entendre.
Merci de votre aide
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. Bonjour,

    Ce serait plus simple si tu nous montrais ta macro qui ne marche pas en nous expliquant ou est le problème.

    A+.
    0
    1. J'ai réussi un peu à contourner le problème mais j'ai maintenant un problème de colonne.
      Je te passe mon code sachant que c'est la dernière partie du code qui foire un peu. Et puis il me fait pas toute les combinaison quand je met un p=4 et plus

      p = InputBox("Combien y a-t-il de paramètres variants?", "paramètres variants")
      
      xp = 2 ^ p
          intro1 = MsgBox("Il y aura " & xp & " expériences à effectuer", vbOKOnly + vbInformation, "exprériences")
          
      'intro des paramètres
      For l = 1 To p
      Xp1 = InputBox("Quel le paramètre " & l & " ?")
      Cells(l, 5) = "X" & l & ": " & Xp1
      Cells(l, 5).Select
          With Selection
              .HorizontalAlignment = xlCenter
              .VerticalAlignment = xlCenter
          End With
      Next
      
      'intro des nombre de ligne
      j = p + 3
      Cells(j - 1, 2) = "M"
      
      
      'alternance -1 et +1 suivant colonne
      v = -1
      j = p + 3
      
              For l = 1 To p
                  Cells(p + 2, 2 + l) = "X" & l
              Next
                  
      'intro valeur Y
          Cells(j - 1, p + 3) = "Y"
          
      'intro interactions paramètres
      j = p + 3
      i = 1
      For g = 1 To p - 1
          For h = 2 To p
      If Cells(j - 1, g + 2) <> Cells(j - 1, h + 2) Then
          Cells(j - 1, p + g + h + i) = Cells(j - 1, g + 2) & "." & Cells(j - 1, h + 2)
      End If
          Next
          i = i + 1
      Next
      0
      1. Contributeur
        Bonjour,
        Si j'ai bien compris ce que tu recherche...

        Sub Algo1()
        Dim i As Integer, e As Integer, d As Integer, c As Integer
        Dim NbVariable As Integer
        Dim Txt As String
            Sheets("Feuil1").Select
        'Nombre de variable à traiter pour le test
            NbVariable = 6
            'Mettre les 6 variables dans cellules A1,B1,etc..
            i = 1
        Reco:
            For e = i To NbVariable - 1
                c = 1
                For d = e + 1 To NbVariable
                    Cells(i + 1, c) = Cells(1, e) & Cells(1, d)
                    c = c + 1
                Next d
                i = i + 1: GoTo Reco
            Next e
        End Sub

        A+
        0
        1. En fait c'est bon j'ai réussit durant la journée.
          Merci de votre aide.
          0