VBA Excel: Regrouper des données à la suite les unes des autres

Fermé
Anna - 21 mai 2014 à 19:28
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 22 mai 2014 à 06:48
Bonjour,

Je dispose d'un code fonctionnant très bien et qui me permet de regrouper les données contenues dans différents classeurs .xls d'un même dossier, en un seul classeur mais dans des feuilles distinctes; le voici:

Sub MiseJourClasMensuel()
Dim wbbase As Workbook, shbase As Worksheet
Dim ext As String, chemin As String
Dim fs As Object, f As Object, sf As Object
Dim wbo As Variant
Dim deli As Long, deliba As Long
Application.ScreenUpdating = False
Set wbbase = ActiveWorkbook
Set shbase = Sheets("Recap")
chemin = wbbase.Path
ext = "xls"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(chemin)
Set sf = f.Files
For Each wbo In sf
If wbo.Name <> wbbase.Name And Right(wbo.Name, Len(ext)) = ext Then
Workbooks.Open (chemin & "\" & wbo.Name)
Sheets(1).Copy after:=wbbase.Sheets(Sheets.Count)
deli = shbase.Cells(Rows.Count, 1).End(xlUp).Row + 1
shbase.Cells(deli, 1).Value = wbo.Name
shbase.Cells(deli, 2).Value = Date & " à " & Time
Workbooks(wbo.Name).Close SaveChanges:=True
End If
Next wbo
Set f = Nothing: Set fs = Nothing: Set sf = Nothing
shbase.Activate
Set wbbase = Nothing: Set shbase = Nothing
Application.ScreenUpdating = True

MsgBox "Les feuilles journalières sont ajoutées au classeur."

End Sub

J'aimerais désormais savoir comment modifier le code pour que les données ne soient plus collées dans des feuilles différentes mais dans une seule et même feuille, les unes sous les autres. Quelqu'un aurait-il une idée?

Merci par avance à vous!
A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
22 mai 2014 à 06:48
Bonjour,

apparemment, il suffirait de supprimer cette ligne
Sheets(1).Copy after:=wbbase.Sheets(Sheets.Count) 
--
Michel
0