drsmha
Messages postés2Date d'inscriptionmardi 1 mai 2007StatutMembreDernière intervention 6 février 2013
-
6 févr. 2013 à 00:32
jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024
-
6 févr. 2013 à 09:36
Voilà mon code:
Sub Essai99()
Dim x As Integer, y As Integer, L1 as Integer, C1 as Integer, L2 as Integer, C2 as Integer
y = 6
For x = 10 To 30 Step 5
Sheets("2013a").Cells(x, y) = "PJ"
Sheets("2013a").Cells(x + 1, y) = "CA"
Next x
L1 = 3
C1 = 4
L2 = 6
C2 = 10
Do Until L1 = 17
If Sheets("Temp").Cells(L1, C1).Value "AR" Then Sheets("2013a").Cells(L2 + 0, C2).Value "PJ"
If Sheets("Temp").Cells(L1, C1).Value "AR" Then Sheets("2013a").Cells(L2 + 1, C2).Value "RU"
L1 = L1 + 1
L2 = L2 + 5
Loop
End Sub
Le code fonctionne bien.
Mon problème : je dois le refaire 52 fois!
C'est-à-dire à la fin du Loop,
Je dois reprendre les valeurs initiales de y-L1-C1-L2-C2-Do Until avec les modifications suivantes:
rajouter 8 à y; donc y=y+8 (6;14;22;30.....)
rajouter 7 à L1; donc L1=L1+7 (3;10;17;24.....)
C1 n'est pas modifié = 4, c'est un constant (4;4;4;4.....)
L2 n'est pas modifié = 6, c'est un constant (6;6;6;6....)
rajouter 8 à C2; donc C2=C2+8 (10;18;26;34.....)
rajouter 7 à Do Until L1= (10;17;24;31...)
Les nouvelles valeurs de y-L1-C1-L2-C2-Do Until ... sont reinjectées au début et le Loop se fait,
pour générer une 2e série de résultats,
ainsi de suite,
jusqu'à ce que y atteint la valeur de 6+(52x8)= 422
jordane45
Messages postés38144Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention21 avril 2024344 6 févr. 2013 à 09:36
Bonjour,
Déjà.. pour ton prochain message merci d'utiliser les balises de code ( ça facilite la lecture)
Ensuite, vu que ce que nous indique, il suffit que tu mette ta boucle actuelle dans une autre boucle (qui fera l'incrementation de tes valeurs)
Sub Loop1()
Dim x As Integer, y As Integer, L1 as Integer, C1 as Integer, L2 as Integer, C2 as Integer
y = 6
L1 = 3
C1 = 4
L2 = 6
C2 = 10
MaxL1=17 ; valeur initiale pour ton DO LOOP
For B=1 to 52
For x = 10 To 30 Step 5
Sheets("2013a").Cells(x, y) = "PJ"
Sheets("2013a").Cells(x + 1, y) = "CA"
Next x
Do Until L1 = MaxL1
' Etc....
Loop
' Ici tu incrementes tes valeurs
y=y+8
L1=L1+7
MaxL1=MaxL1+7
'etc..
next
End Sub
Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI