Une boucle dans une boucle (VBS)
Fermé
Aquhydro
Messages postés
172
Date d'inscription
mercredi 8 août 2012
Statut
Membre
Dernière intervention
26 mai 2020
-
9 août 2012 à 10:54
Aquhydro Messages postés 172 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 26 mai 2020 - 13 août 2012 à 10:06
Aquhydro Messages postés 172 Date d'inscription mercredi 8 août 2012 Statut Membre Dernière intervention 26 mai 2020 - 13 août 2012 à 10:06
4 réponses
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
9 août 2012 à 11:15
9 août 2012 à 11:15
Bonjour,
si je comprends ton problème, tu veux faire d'abord pour i de 1 à 5, attendre une heure, puis i de 6 à 10 attendre une heure, i de 11 à 15... et ainsi de suite ?
Cordialement.
si je comprends ton problème, tu veux faire d'abord pour i de 1 à 5, attendre une heure, puis i de 6 à 10 attendre une heure, i de 11 à 15... et ainsi de suite ?
Cordialement.
Aquhydro
Messages postés
172
Date d'inscription
mercredi 8 août 2012
Statut
Membre
Dernière intervention
26 mai 2020
2
9 août 2012 à 11:16
9 août 2012 à 11:16
Exactement, ça serait parfait.
bonjour
une proposition, mais pas sûr d'avoir tout compris:
A+
une proposition, mais pas sûr d'avoir tout compris:
For i = 1 To 140 ' on va faire 140 boucles For j = 1 To 5 'on va faire 5 boucles Range("A1").Value = i 'opération à effectuer 5 fois Next j Application.Wait (Now + TimeValue("1:00:00")) 'on attend 1 heure après les 5 boucles et on continue sur le i suivant Next i
A+
Aquhydro
Messages postés
172
Date d'inscription
mercredi 8 août 2012
Statut
Membre
Dernière intervention
26 mai 2020
2
9 août 2012 à 14:06
9 août 2012 à 14:06
Alors ça marche très bien c'est parfait sauf que j'ai eut deux petite erreurs, la première est corrigée mais je ne comprends pas la seconde, pourriez-vous m'aider?
:
Sub macro
'
' Runs the executable ******'
'
Set Base = ActiveWorkbook
For i = 1 To 140
For j = 1 To 5
Application.Run "******.xls'!CopierColler"
Range("I3").Select
Windows("en attendant.xlsx").Activate
Range("A3:T701").Select
Range("T3").Activate
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.ScrollRow = 653
ActiveWindow.ScrollRow = 652
ActiveWindow.ScrollRow = 650
ActiveWindow.ScrollRow = 648
ActiveWindow.ScrollRow = 644
ActiveWindow.ScrollRow = 642
ActiveWindow.ScrollRow = 637
ActiveWindow.ScrollRow = 629
ActiveWindow.ScrollRow = 621
ActiveWindow.ScrollRow = 611
ActiveWindow.ScrollRow = 602
ActiveWindow.ScrollRow = 591
ActiveWindow.ScrollRow = 575
ActiveWindow.ScrollRow = 562
ActiveWindow.ScrollRow = 548
ActiveWindow.ScrollRow = 535
ActiveWindow.ScrollRow = 522
ActiveWindow.ScrollRow = 509
ActiveWindow.ScrollRow = 493
ActiveWindow.ScrollRow = 476
ActiveWindow.ScrollRow = 450
ActiveWindow.ScrollRow = 422
ActiveWindow.ScrollRow = 396
ActiveWindow.ScrollRow = 367
ActiveWindow.ScrollRow = 338
ActiveWindow.ScrollRow = 312
ActiveWindow.ScrollRow = 286
ActiveWindow.ScrollRow = 260
ActiveWindow.ScrollRow = 237
ActiveWindow.ScrollRow = 211
ActiveWindow.ScrollRow = 183
ActiveWindow.ScrollRow = 162
ActiveWindow.ScrollRow = 139
ActiveWindow.ScrollRow = 118
ActiveWindow.ScrollRow = 97
ActiveWindow.ScrollRow = 77
ActiveWindow.ScrollRow = 60
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 1
Range("A2").Select
ActiveSheet.Paste
Range("C4").Select
Windows("*****.xls").Activate Premier problème qui j'ai résolu car en fait il ne trouvais plus le dossier ensuite, j'ai juste remis dans la bonne fênetre.
workingdir = Range("h24")
ChDir (workingdir)
Range("J12:Q19").Select
Selection.Copy
Set newbook = Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues
Selection.End(xlDown).Offset(1, 0).Select
Base.Activate
If Range("e13").Value > 0 Then
Range("b27").Select
Range(ActiveCell, ActiveCell.Offset(Range("e13").Value - 1, 7)).Select
Selection.Copy
newbook.Activate
Selection.PasteSpecial Paste:=xlPasteValues
Selection.End(xlDown).Offset(1, 0).Select
Base.Activate
End If
Range("B33:I33").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
newbook.Activate
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.SaveAs Filename:="*******.csv", FileFormat:= _
xlCSV
ActiveWorkbook.Close SaveChanges:=False
Base.Activate
Range("a1").Select
Shell ("******.bat") Ici, le logiciel me dit qu'il ne retrouve plus le fichier en question, pourtant le fichier est toujours intègre, au même nom, et a la même place, est il possible qu'il y ait quelque chose qui bug dans mon script? Next j
Application.Wait (Now + TimeValue("1:00:00"))
Next i
End Sub
Merci beaucoup
:
Sub macro
'
' Runs the executable ******'
'
Set Base = ActiveWorkbook
For i = 1 To 140
For j = 1 To 5
Application.Run "******.xls'!CopierColler"
Range("I3").Select
Windows("en attendant.xlsx").Activate
Range("A3:T701").Select
Range("T3").Activate
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.ScrollRow = 653
ActiveWindow.ScrollRow = 652
ActiveWindow.ScrollRow = 650
ActiveWindow.ScrollRow = 648
ActiveWindow.ScrollRow = 644
ActiveWindow.ScrollRow = 642
ActiveWindow.ScrollRow = 637
ActiveWindow.ScrollRow = 629
ActiveWindow.ScrollRow = 621
ActiveWindow.ScrollRow = 611
ActiveWindow.ScrollRow = 602
ActiveWindow.ScrollRow = 591
ActiveWindow.ScrollRow = 575
ActiveWindow.ScrollRow = 562
ActiveWindow.ScrollRow = 548
ActiveWindow.ScrollRow = 535
ActiveWindow.ScrollRow = 522
ActiveWindow.ScrollRow = 509
ActiveWindow.ScrollRow = 493
ActiveWindow.ScrollRow = 476
ActiveWindow.ScrollRow = 450
ActiveWindow.ScrollRow = 422
ActiveWindow.ScrollRow = 396
ActiveWindow.ScrollRow = 367
ActiveWindow.ScrollRow = 338
ActiveWindow.ScrollRow = 312
ActiveWindow.ScrollRow = 286
ActiveWindow.ScrollRow = 260
ActiveWindow.ScrollRow = 237
ActiveWindow.ScrollRow = 211
ActiveWindow.ScrollRow = 183
ActiveWindow.ScrollRow = 162
ActiveWindow.ScrollRow = 139
ActiveWindow.ScrollRow = 118
ActiveWindow.ScrollRow = 97
ActiveWindow.ScrollRow = 77
ActiveWindow.ScrollRow = 60
ActiveWindow.ScrollRow = 43
ActiveWindow.ScrollRow = 25
ActiveWindow.ScrollRow = 13
ActiveWindow.ScrollRow = 1
Range("A2").Select
ActiveSheet.Paste
Range("C4").Select
Windows("*****.xls").Activate Premier problème qui j'ai résolu car en fait il ne trouvais plus le dossier ensuite, j'ai juste remis dans la bonne fênetre.
workingdir = Range("h24")
ChDir (workingdir)
Range("J12:Q19").Select
Selection.Copy
Set newbook = Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues
Selection.End(xlDown).Offset(1, 0).Select
Base.Activate
If Range("e13").Value > 0 Then
Range("b27").Select
Range(ActiveCell, ActiveCell.Offset(Range("e13").Value - 1, 7)).Select
Selection.Copy
newbook.Activate
Selection.PasteSpecial Paste:=xlPasteValues
Selection.End(xlDown).Offset(1, 0).Select
Base.Activate
End If
Range("B33:I33").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
newbook.Activate
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.SaveAs Filename:="*******.csv", FileFormat:= _
xlCSV
ActiveWorkbook.Close SaveChanges:=False
Base.Activate
Range("a1").Select
Shell ("******.bat") Ici, le logiciel me dit qu'il ne retrouve plus le fichier en question, pourtant le fichier est toujours intègre, au même nom, et a la même place, est il possible qu'il y ait quelque chose qui bug dans mon script? Next j
Application.Wait (Now + TimeValue("1:00:00"))
Next i
End Sub
Merci beaucoup
Aquhydro
Messages postés
172
Date d'inscription
mercredi 8 août 2012
Statut
Membre
Dernière intervention
26 mai 2020
2
13 août 2012 à 10:06
13 août 2012 à 10:06
Bha pour l'instant ça ne fonctionne pas, je cherche d'autres techniques, si je résoud je pose ici...