Bonjour,
simple p'tite procédure affichant dans la feuille active les combinaisons :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| Sub CombinArray(EA, EB)
If Not IsArray(EA) Or Not IsArray(EB) Then Beep: End
LA& = LBound(EA): UA& = UBound(EA): CA = UA - LA + 1: If CA < 2 Then Beep: End
LB& = LBound(EB): UB& = UBound(EB): ActiveSheet.UsedRange.Clear
ReDim NA&(LA To UA): ReDim RC$(1 To (UB - LB + 1) ^ CA, LA To UA)
For C& = LA To UA - 1: NA(C) = LB: Next
Do
For NA(UA) = LB To UB
R& = R& + 1
For C = LA To UA: RC(R, C) = EA(C) & EB(NA(C)): Next
Next
If R = UBound(RC) Then Exit Do
NA(UA - 1) = NA(UA - 1) + 1
For C = UA - 1 To LA + 1 Step -1
If NA(C) > UB Then NA(C) = LB: NA(C - 1) = NA(C - 1) + 1
Next
Loop
[A1].Resize(R, CA).Value = RC
End Sub
Sub DemoIndice0()
CombinArray Split("a b c d"), Split("1 2 3")
End Sub
Sub DemoIndice1()
CombinArray [{"a", "b", "c", "d"}], [{"1", "2", "3"}]
End Sub |
_______________ ____________________________________ ______________________________
Merci de cliquer sur
pour chaque message ayant aidé puis sur
pour clore cette discussion …
Partager