Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[B]Combinaisons de chiffres de 6 colonnes[/B]

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

K

keisia

Guest
Bonjour à tous!

J'ai réalisé un questionnaire sur excel, il y a 6 questions, pour la 1ère question 6 possibilités de réponse, pour la 2ème question 3 possibilités de réponse et pour les 4 autres 2 possibilités de réponse. Ma question est comment générer toutes les combinaisons de réponses possibles grâce à une macro (et là c'est le drame je n'y comprend rien 🙁 )

Merci de jeter un oeil à mon fichier joint pour les amateurs de VBA!

MERCI INFINIMENT!
 

Pièces jointes

Re : Combinaisons de chiffres de 6 colonnes

Bonjour,
Code:
Sub Combinaisons()
    Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, f As Integer
    Dim t As String
    For a = 1 To 6
        For b = 1 To 3
            For c = 1 To 2
                For d = 1 To 2
                    For e = 1 To 2
                        For f = 1 To 2
                        Range("O" & Rows.Count).End(xlUp)(2) = a & b & c & d & e & f
                        Next
                    Next
                Next
            Next
        Next
    Next
End Sub
Soit 288 combinaisons en colonne O
A+
 
Dernière modification par un modérateur:
Re : Combinaisons de chiffres de 6 colonnes

Bonjour à tous
Une proposition permettant de moduler le nombre de questions, et le nombre de réponses à chaque question, sans modification du code.
Code:
[COLOR="DarkSlateGray"][B]Private Sub COMBINE_Click()
  tata Range("B4"), Range("J14") [COLOR="Sienna"]'première cellule des données, première cellule des réponses.[/COLOR]
End Sub

Private Sub tata(pDat As Range, rDat)
Dim i&, j&, m&, u&, x&, tmp$, Data(), nDat&(), sDat$(), oPlg As Range
  With pDat
    Set oPlg = .Resize(1, IIf(IsEmpty(.Offset(0, 1)), 1, .End(xlToRight).Column - .Column + 1))
    m = oPlg.Count
    ReDim Data(1 To 1, 1 To m)
    ReDim nDat(1 To m)
    For i = 1 To m
      With .Offset(0, i - 1)
        Data(1, i) = .Resize(IIf(IsEmpty(.Offset(1, 0)), 1, .End(xlDown).Row - .Row + 1), 2).Value
      End With
    Next i
  End With
  x = 1
  For i = 1 To m
    nDat(i) = UBound(Data(1, i), 1)
    x = x * nDat(i)
  Next i
  ReDim sDat(1 To x, 1 To 1)
  For i = 1 To x
    tmp = ""
    u = i
    For j = m To 1 Step -1
      tmp = Data(1, j)(1 + (u - 1) Mod (nDat(j)), 1) & " - " & tmp
      u = 1 + (u - 1) \ nDat(j)
    Next j
    sDat(i, 1) = Left$(tmp, Len(tmp) - 3)
  Next i
  With rDat
    .Resize(IIf(IsEmpty(.Offset(1, 0)), 1, .End(xlDown).Row - .Row + 1), 2).ClearContents
    .Resize(x, 1).Value = sDat
  End With
End Sub[/B][/COLOR]
ROGER2327
#4315


Mardi 10 Haha 138 (Saint Panmuphle, huissier, SQ)
24 Vendémiaire An CCXIX
2010-W41-5T15:14:47Z
 

Pièces jointes

Dernière édition:
- 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

Réponses
13
Affichages
1 K
Y
Réponses
1
Affichages
4 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…