J
JJ
Guest
Bonsoir,
J'ai une macro combinatoire
Je voudrais la modifier afin qu'elle ne restitue les combinaisons à 6 numéros que sous la forme:
1 unité,1 diz,1 vingt,1 trent et 2 quarantaines
puis un autre lancement donnant cette fois toutes les combinaisons sous la forme:
1 unité,1diz,1vingt,2 trent, 1 quarantaine
par ex.
(je pourrai ensuite la faire evoluer)
Voici le code:
Sub Macro2()
Option Explicit
DefByte A
DefInt I
DefObj O
Sub Combin_6_10()
Dim aCnt, AElC, aMax, aNbEl, aNbC, i, iC, iR, oC, Tablo(49) As Byte
Dim iCnt1, iCnt2, iCnt3, iCnt4, iCnt5, iCnt6, iCnt7, iCnt8
For i = 1 To 49
Tablo(i) = Cells(i + 1, 1).Value
Next
'nombre de joueurs
aNbEl = UBound(Tablo)
'nombres d'éléments choisis
AElC = 6
'aNbC donne le nombre de combinaisons possibles (inutile)
'aNbC = Application.WorksheetFunction.Combin(aNbEl, AElC)
iR = iR + 13: iC = 1
For iCnt1 = 1 To aNbEl
For iCnt2 = iCnt1 + 1 To aNbEl
For iCnt3 = iCnt2 + 1 To aNbEl
For iCnt4 = iCnt3 + 1 To aNbEl
For iCnt5 = iCnt4 + 1 To aNbEl
For iCnt6 = iCnt5 + 1 To aNbEl
Cells(iR, 1) = iCnt1: iC = 1 + 1
Cells(iR, iC) = iCnt2: iC = 1 + 2
Cells(iR, iC) = iCnt3: iC = 1 + 3
Cells(iR, iC) = iCnt4: iC = 1 + 4
Cells(iR, iC) = iCnt5: iC = 1 + 5
Cells(iR, iC) = iCnt6: iC = 1 + 6
iR = iR + 1
Next
Next
Next
Next
Next
Next
For Each oC In Range(Cells(13, 1), Cells(iR - 1, AElC))
oC.Value = Tablo(oC.Value)
Next
End Sub
Si quelqu'un peut m'aider car je sèche!
Bonne soirée
JJ
J'ai une macro combinatoire
Je voudrais la modifier afin qu'elle ne restitue les combinaisons à 6 numéros que sous la forme:
1 unité,1 diz,1 vingt,1 trent et 2 quarantaines
puis un autre lancement donnant cette fois toutes les combinaisons sous la forme:
1 unité,1diz,1vingt,2 trent, 1 quarantaine
par ex.
(je pourrai ensuite la faire evoluer)
Voici le code:
Sub Macro2()
Option Explicit
DefByte A
DefInt I
DefObj O
Sub Combin_6_10()
Dim aCnt, AElC, aMax, aNbEl, aNbC, i, iC, iR, oC, Tablo(49) As Byte
Dim iCnt1, iCnt2, iCnt3, iCnt4, iCnt5, iCnt6, iCnt7, iCnt8
For i = 1 To 49
Tablo(i) = Cells(i + 1, 1).Value
Next
'nombre de joueurs
aNbEl = UBound(Tablo)
'nombres d'éléments choisis
AElC = 6
'aNbC donne le nombre de combinaisons possibles (inutile)
'aNbC = Application.WorksheetFunction.Combin(aNbEl, AElC)
iR = iR + 13: iC = 1
For iCnt1 = 1 To aNbEl
For iCnt2 = iCnt1 + 1 To aNbEl
For iCnt3 = iCnt2 + 1 To aNbEl
For iCnt4 = iCnt3 + 1 To aNbEl
For iCnt5 = iCnt4 + 1 To aNbEl
For iCnt6 = iCnt5 + 1 To aNbEl
Cells(iR, 1) = iCnt1: iC = 1 + 1
Cells(iR, iC) = iCnt2: iC = 1 + 2
Cells(iR, iC) = iCnt3: iC = 1 + 3
Cells(iR, iC) = iCnt4: iC = 1 + 4
Cells(iR, iC) = iCnt5: iC = 1 + 5
Cells(iR, iC) = iCnt6: iC = 1 + 6
iR = iR + 1
Next
Next
Next
Next
Next
Next
For Each oC In Range(Cells(13, 1), Cells(iR - 1, AElC))
oC.Value = Tablo(oC.Value)
Next
End Sub
Si quelqu'un peut m'aider car je sèche!
Bonne soirée
JJ