Faire une boucle en langage VBA
david3434
Messages postés
31
Statut
Membre
-
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17417 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai créer une boucle qui me permette de coller pour chacun de mes magasins le fichier des OD dans un fichier récap. Ceci m'éviterais de faire les 90 copier coller manuellement et gagner du temps.
Voici le lien du fichier ou je souhaite faire mes copier coller
https://mon-partage.fr/f/aWlmSRJ6/
Voici le lien d'un fichier magasin en exemple
https://mon-partage.fr/f/dzdA9V4W/
Ci dessous la macro faite à partir d'un exemple internet mais j'avoue être perdu. Rien ne se passe quand je lance la macro malheureusement.
Je souhaiterai créer une boucle qui me permette de coller pour chacun de mes magasins le fichier des OD dans un fichier récap. Ceci m'éviterais de faire les 90 copier coller manuellement et gagner du temps.
Voici le lien du fichier ou je souhaite faire mes copier coller
https://mon-partage.fr/f/aWlmSRJ6/
Voici le lien d'un fichier magasin en exemple
https://mon-partage.fr/f/dzdA9V4W/
Ci dessous la macro faite à partir d'un exemple internet mais j'avoue être perdu. Rien ne se passe quand je lance la macro malheureusement.
Sub Recup_OD_ENT()
Application.DisplayAlerts = False
Dim Fichier As String
Dim Chemin As String
Dim Magasin As String
Dim LigneDebut As Integer
Dim NomMagEns As String
With Application
.Calculation = xlManual
.MaxChange = 0.001
.CalculateBeforeSave = False
End With
Chemin = "U:\Contrôle de gestion\OD\"
Fichier = Dir("OD_ENT_*.CSV")
Sheets("BDD ENT INFO").Select
Range(Cells(20, 1), Cells(150000, 17)).Select
Selection.ClearContents
Do While Fichier <> ""
Set wb = Workbooks.Open(Chemin & Fichier)
Windows(Fichier).Activate
Sheets("OD_ENT_*").Select
NomMagEns = Cells(2, 2).Value
Sheets("OD_ENT_*").Select
Range(Cells(2, 1), Cells(2000, 17)).Select
Selection.Copy
Windows("OD Cloture fin JUIN 2017").Activate
Sheets("BDD ENT INFO").Select
Cells(50000, 1).Select
LigneDebut = Selection.End(xlUp).Row
Cells(LigneDebut + 1, 3).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(Fichier).Activate
wb.Close True
Set wb = Nothing
Fichier = Dir
Loop
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
Application.DisplayAlerts = True
End Sub
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
est-ce en lien avec ceci: https://forums.commentcamarche.net/forum/affich-34631587-bug-dans-ma-macro ?
sinon, as-tu déjà un code qui fonctionne pour un magasin?
ensuite, tu pourras faire une boucle pour les 90 magasins. -
Bonjour a vous deux
Fichier modifie pour recuperation donnees externes CSV
https://mon-partage.fr/f/Rd1AJkn9/
A vous de voir. Vous allez avoir des problemes de format de colonne pour les dates, vos formules ne sont pas d'accord