Faire une boucle en langage VBA
david3434
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 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
A voir également:
- Faire une boucle en langage VBA
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Excel compter cellule couleur sans vba - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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.
sinon, as-tu déjà un code qui fonctionne pour un magasin?
ensuite, tu pourras faire une boucle pour les 90 magasins.
Non c'est une autre macro, on m'a parlé de cette méthode de "boucle" mais je ne m'attendais pas à quelque chose de si complexe. Et je n'ai pas non plus un code qui fonctionne pour un magasin mais du coup je vais essayer comme ça. Si tu as des idées hésites pas lol
remarque que si tu fais ainsi, tu gagnes déjà énormément de temps: