[VBA] Nombre variable de boucles FOR imbriquées
2pat
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Alors voilà ma procedure:
Dim fiber(3) As Double
Dim wire(3) As Double
'
fiber(1) = 0.1
fiber(2) = -0.1
fiber(3) = 0
'
wire(1) = 0.2
wire(2) = -0.2
wire(3) = 0
'
comb = 1
For p = 1 To 3
For o = 1 To 3
For n = 1 To 3
For m = 1 To 3
For l = 1 To 3
For k = 1 To 3
For j = 1 To 3
For i = 1 To 3
For h = 1 To 3
tabdata(6 + 12 * (comb - 1), 1) = "9001 AXIAL " & wire(h)
tabdata(7 + 12 * (comb - 1), 1) = "9002 AXIAL " & wire(i)
tabdata(8 + 12 * (comb - 1), 1) = "9003 AXIAL " & wire(j)
tabdata(9 + 12 * (comb - 1), 1) = "8001 AXIAL " & fiber(k)
tabdata(10 + 12 * (comb - 1), 1) = "8002 AXIAL " & fiber(l)
tabdata(11 + 12 * (comb - 1), 1) = "8003 AXIAL " & fiber(m)
tabdata(12 + 12 * (comb - 1), 1) = "8004 AXIAL " & fiber(n)
tabdata(13 + 12 * (comb - 1), 1) = "8005 AXIAL " & fiber(o)
tabdata(14 + 12 * (comb - 1), 1) = "8006 AXIAL " & fiber(p)
comb = comb + 1
Next
Next
Next
Next
Next
Next
Next
Next
Next
Jusque là tout allez bien...
Maintenant le probleme est que je veux pouvoir faire ça non plus avec 9 variables mais avec n.
J'avais pensé à une function recursive mais je n'ai rien réussis à produire de valuable.
Ou bien peut être générer des noms de variables à partir d'une variable, comme a1,a2,...an, mais là encore de concluant.
Donc si vous avez des propositions je vous en serais très reconnaisant.
Merci d'avance pour votre aide.
Alors voilà ma procedure:
Dim fiber(3) As Double
Dim wire(3) As Double
'
fiber(1) = 0.1
fiber(2) = -0.1
fiber(3) = 0
'
wire(1) = 0.2
wire(2) = -0.2
wire(3) = 0
'
comb = 1
For p = 1 To 3
For o = 1 To 3
For n = 1 To 3
For m = 1 To 3
For l = 1 To 3
For k = 1 To 3
For j = 1 To 3
For i = 1 To 3
For h = 1 To 3
tabdata(6 + 12 * (comb - 1), 1) = "9001 AXIAL " & wire(h)
tabdata(7 + 12 * (comb - 1), 1) = "9002 AXIAL " & wire(i)
tabdata(8 + 12 * (comb - 1), 1) = "9003 AXIAL " & wire(j)
tabdata(9 + 12 * (comb - 1), 1) = "8001 AXIAL " & fiber(k)
tabdata(10 + 12 * (comb - 1), 1) = "8002 AXIAL " & fiber(l)
tabdata(11 + 12 * (comb - 1), 1) = "8003 AXIAL " & fiber(m)
tabdata(12 + 12 * (comb - 1), 1) = "8004 AXIAL " & fiber(n)
tabdata(13 + 12 * (comb - 1), 1) = "8005 AXIAL " & fiber(o)
tabdata(14 + 12 * (comb - 1), 1) = "8006 AXIAL " & fiber(p)
comb = comb + 1
Next
Next
Next
Next
Next
Next
Next
Next
Next
Jusque là tout allez bien...
Maintenant le probleme est que je veux pouvoir faire ça non plus avec 9 variables mais avec n.
J'avais pensé à une function recursive mais je n'ai rien réussis à produire de valuable.
Ou bien peut être générer des noms de variables à partir d'une variable, comme a1,a2,...an, mais là encore de concluant.
Donc si vous avez des propositions je vous en serais très reconnaisant.
Merci d'avance pour votre aide.
A voir également:
- [VBA] Nombre variable de boucles FOR imbriquées
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Nombre de jours entre deux dates excel - Guide
- Idm for mac - Télécharger - Téléchargement & Transfert
- Instagram for pc - Télécharger - Divers Communication
- Nombre de page - Guide
1 réponse
Bonjour,
vue l'heure je te décris juste l'idée.
Un tableau d'entiers i(1 to n) qui ira de 0 à 2 pour chaque index. Il faudra faire +1 à l'utilisation.
Tu fais ton calcul et tu passes à la combinaison suivante ainsi (c'est l'idée, il y a peut-être des erreurs) :
for j= 1 to n
i(j)=(i(j) +1) mod 3
if i(j) <>0 then exit for
next j
Si somme de tous les index=0 c'est fini, sinon tu continue ta boucle avec le calcul en haut.
eric
vue l'heure je te décris juste l'idée.
Un tableau d'entiers i(1 to n) qui ira de 0 à 2 pour chaque index. Il faudra faire +1 à l'utilisation.
Tu fais ton calcul et tu passes à la combinaison suivante ainsi (c'est l'idée, il y a peut-être des erreurs) :
for j= 1 to n
i(j)=(i(j) +1) mod 3
if i(j) <>0 then exit for
next j
Si somme de tous les index=0 c'est fini, sinon tu continue ta boucle avec le calcul en haut.
eric
eriiic
Messages postés
24603
Date d'inscription
Statut
Contributeur
Dernière intervention
7 275
de rien...