D
dominique
Guest
Salut !
J'ai crée un petit code VBA qui teste pas moins de 5000 lignes et l'execution prend quand meme 5 a 10 sec pr 1200 lignes testées ....
J'ai utilisé une boucle for puis while pr comparer la vitesse. Moi je n'ai pas vu de différence, qu'en pensez vous ?
voila mon code :
Sheets("Data").Activate
Sheets("Data").Select
Worksheets("Data").Range("B1").Sort Key1:=Worksheets("Data").Columns("B"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom
Worksheets("Data").Range("B2").Activate
'i = 7
'While ActiveCell.Offset(1, 0).Value <> ""
For j = 1 To Sheets("commandes").Range("D6").Value - 1 Step 1
If ActiveCell.Offset(1, 0).Value = ActiveCell.Value Then
ActiveCell.Offset(1, 0).Select
Else
Worksheets("divers").Range("H" & j + 6).Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
'i = i + 1
End If
'Wend
Next
Voila voila, vous pensez que je devrais plutot utiliser un while ou un for ? merci pour vos conseils !!
a++
dom.
J'ai crée un petit code VBA qui teste pas moins de 5000 lignes et l'execution prend quand meme 5 a 10 sec pr 1200 lignes testées ....
J'ai utilisé une boucle for puis while pr comparer la vitesse. Moi je n'ai pas vu de différence, qu'en pensez vous ?
voila mon code :
Sheets("Data").Activate
Sheets("Data").Select
Worksheets("Data").Range("B1").Sort Key1:=Worksheets("Data").Columns("B"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom
Worksheets("Data").Range("B2").Activate
'i = 7
'While ActiveCell.Offset(1, 0).Value <> ""
For j = 1 To Sheets("commandes").Range("D6").Value - 1 Step 1
If ActiveCell.Offset(1, 0).Value = ActiveCell.Value Then
ActiveCell.Offset(1, 0).Select
Else
Worksheets("divers").Range("H" & j + 6).Value = ActiveCell.Value
ActiveCell.Offset(1, 0).Select
'i = i + 1
End If
'Wend
Next
Voila voila, vous pensez que je devrais plutot utiliser un while ou un for ? merci pour vos conseils !!
a++
dom.