concatenation de tous les fichiers excel d'un repertoire (à structure identique )

nicosp

XLDnaute Nouveau
Bonjour,
Michel avait posté (et je l en remercie) ce fichier qui permet de concatener tous les fichiers excel d'un repertoire
pour peu, bien sur, qu'ils aient une structure identique.

N'étant pas un pro du dvpt, serait il possible de l'adapter ? en effet, la macro ne traite que le le premier onglet des fichiers excel ( alors que j en ai plusieurs dans mes fichiers ) et que, dans chaque onglet, j ai une ligne d'en-tête qui est
collectée a chaque nouveau fichier traité, je souhaiterais, bien sûr, ne la faire figurer qu'une seule fois .

d'avance, merci beaucoup pour votre aide !
 

Pièces jointes

  • Recap.xls
    49 KB · Affichages: 67
  • Recap.xls
    49 KB · Affichages: 65
  • Recap.xls
    49 KB · Affichages: 68

nicosp

XLDnaute Nouveau
Re : concatenation de tous les fichiers excel d'un repertoire (à structure identique

bon, j ai progressé :
tous les onglets sont désormais traités, et je récupère le nom des onglets originels dans le fichier de concatenation.
ne me reste plus que le probleme de la ligne d'en tete qui se reproduit à chaque fois.

Sub Compilation()
Dim Temp As String
Dim Ligne As Long
Dim NF As String
Temp = Dir(ActiveWorkbook.Path & "\*.xls")
Application.DisplayAlerts = False
Do While Temp <> ""

If Temp <> "Recap.xls" Then
Workbooks.Open ActiveWorkbook.Path & "\" & Temp
For i = 1 To Sheets.Count
Workbooks(Temp).Sheets(i).Range("A1").CurrentRegion.Copy
NF = Workbooks(Temp).Sheets(i).Name
Workbooks("Recap.xls").Sheets(i).Activate
Ligne = Sheets(i).Range("A65536").End(xlUp).Row + 1
Range("A" & CStr(Ligne)).Select
ActiveSheet.Paste
Sheets(i).Name = NF
Next i
Workbooks(Temp).Close
End If


Temp = Dir
Loop
Range("A1").Select
Application.DisplayAlerts = True
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : concatenation de tous les fichiers excel d'un repertoire (à structure identique

Bonjour,

exemple ci-dessous pour ne pas selectionner la ligne de titre :
Code:
With Range("A1").CurrentRegion
    .Offset(1).Resize(.Rows.Count - 1).Select
End With

bon après midi
@+
 

Discussions similaires

Statistiques des forums

Discussions
312 331
Messages
2 087 356
Membres
103 528
dernier inscrit
hplus