Aide sur La fin d'une Macro SVP

sebbo

XLDnaute Nouveau
Bonjour
Je ne suis pas développeur mais utilise excel et bidouille des macros qui ont été partagées

Mon problème :

J'ai donc bidouillé une macro pour aller ouvrir, fermer / copier, coller les données de la feuil1 de tous les classeurs présents dans un dossier
Cela fonctionne bien pour le premier classeur ouvert mais pas pour le second
A partir du second : la macro ne prend en compte la ligne où elle se trouve et pas la ligne1 du nouveau classeur ! ??

Voici le code... si quelqu'un peut m'aider ?
Je vous remercie :

Sub RecapEPS15()
Dim Chemin As String, Fichier As String
Dim Ws As Worksheet
Dim Ligne As Long

Application.ScreenUpdating = False
Set Ws = Sheets("Feuil1")
Ws.Columns("A:p").ClearContents
Chemin = ThisWorkbook.Path & Application.PathSeparator
Ligne = 1

Fichier = Dir(Chemin & "*.xlsx")
Do While Fichier <> ""
With Workbooks.Open(Chemin & Fichier)
With .Sheets(1)
.Range("A1:p" & .Range("A" & Rows.Count).End(xlUp).Row).Copy Ws.Range("A" & Ligne)
End With
Ws.Range("A" & Ligne & ":A" & Ws.Range("A" & Rows.Count).End(xlUp).Row).Value = .Name
.Close savechanges:=False
End With
Ligne = Ws.Range("A" & Rows.Count).End(xlUp).Row + 1
Fichier = Dir
Loop
Ws.Range("A1:p1" & Ligne - 1).TextToColumns DataType:=xlDelimited, Tab:=False, Semicolon:=True, Comma:=False, Space:=False, Other:=False, _
FieldInfo:=Array(Array(1, xlDMYFormat), Array(5, xlDMYFormat))
End Sub

Bien à vous
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Sebbo et bienvenu sur XLD,
Il me semble que la variable Ligne est initialisée en dehors de la boucle Do While.
Peut être une piste :
VB:
Fichier = Dir(Chemin & "*.xlsx")
Do While Fichier <> ""
With Workbooks.Open(Chemin & Fichier)
Ligne=1
With .Sheets(1)
...
Utilisez les balises </> pour le code ( à coté de l'icone GIF ), c'est bien plus lisible.
 

Statistiques des forums

Discussions
298 813
Messages
1 971 984
Membres
203 578
dernier inscrit
theo90170