Do Until Range("G" & j).Value = 1
acsnoop
-
lermite222 Messages postés 9042 Statut Contributeur -
lermite222 Messages postés 9042 Statut Contributeur -
Bonjour,
Voila...C'est un programme qui me rend ce que je souhaite... mais poutant débogage sur la ligne _: Do Until Range("G" & j).Value = 1... Quelqu'un saurait-il ou se trouve l'erreur et comment la corriger
Sub Macrotest()
i = 2
Do Until Range("A" & i).Value = ""
If Range("G" & i).Value = 1 Then
nbpal = Range("E" & i).Value
nbpick = Range("F" & i).Value
j = i + 1
Do Until Range("G" & j).Value = 1
nbpal = nbpal + Range("E" & j).Value
nbpick = nbpick + Range("F" & j).Value
j = j + 1
Loop
Range("E" & i).Value = nbpal
Range("F" & i).Value = nbpick
End If
i = i + 1
Loop
End Sub
Voila...C'est un programme qui me rend ce que je souhaite... mais poutant débogage sur la ligne _: Do Until Range("G" & j).Value = 1... Quelqu'un saurait-il ou se trouve l'erreur et comment la corriger
Sub Macrotest()
i = 2
Do Until Range("A" & i).Value = ""
If Range("G" & i).Value = 1 Then
nbpal = Range("E" & i).Value
nbpick = Range("F" & i).Value
j = i + 1
Do Until Range("G" & j).Value = 1
nbpal = nbpal + Range("E" & j).Value
nbpick = nbpick + Range("F" & j).Value
j = j + 1
Loop
Range("E" & i).Value = nbpal
Range("F" & i).Value = nbpick
End If
i = i + 1
Loop
End Sub
Configuration: Windows XP Internet Explorer 6.0
1 réponse
-
Bonjour,
Il n'y a pas d'erreur de syntaxe dans ta macro mais probablement un dépassement de capacité, la condition dans
("G" & j).Value = 1 n'est probablemenbt pas rencontrée.
Pour tester met un stop sur j
Sub Macrotest() i = 2 Do Until Range("A" & i).Value = "" If Range("G" & i).Value = 1 Then nbpal = Range("E" & i).Value nbpick = Range("F" & i).Value j = i + 1 Do Until Range("G" & j).Value = 1 nbpal = nbpal + Range("E" & j).Value nbpick = nbpick + Range("F" & j).Value j = j + 1 If j = 30000 Then Stop Loop Range("E" & i).Value = nbpal Range("F" & i).Value = nbpick End If i = i + 1 If i = 30000 Then Stop Loop End Sub
Si le débogueur s'arrète sur une des lignes c'est que la supposition est la bonne. (a moins que tu ai plus de 30000 lignes, dans ce cas met 60000.)
Comme je ne sais pas ce qu'il y a dans ton classeur c'est pas possible d'en dire plus.
A+