Macro compilation de fichiers: comment integrer nom fichier?

Bonjour à tous,

J'ai une macro qui sert à compiler des fichiers.xls dans un seul fichier .xls. Ca marche bien.

Seulement, dans le fichier compilé, j'aimerais en plus faire apparaître le nom du fichier source relatif à la ligne compilée... (j'ai fait quelques tentatives sans succès...)

Est ce que quelqu'un sait comment faire?

D'avance, merci

Aline

voici le code que j'ai actuellement:

Sub regroupe()

Dim chemin As String ' classeur regroupé

Dim rep As String ' répertoire à traiter

Dim fic As String ' classeur regroupé

Dim ligne As Long ' ligne écriture

Dim nbc As Integer ' nombre de classeurs

Dim nbf As Integer ' nombre de feuilles

Dim nbl As Integer ' nombre de lignes

Dim c As Integer ' nombre de colonnes

Dim l As Long ' ligne lecture

Dim Wf As Worksheet ' feuille regroupement

Dim Wl As Worksheet ' feuille regroupée

rep = ThisWorkbook.Path & "\"

Application.ScreenUpdating = False

Application.EnableEvents = False

Application.DisplayAlerts = False

On Error GoTo fin

Set Wf = ThisWorkbook.ActiveSheet ' variable feuille groupe

Wf.Cells.ClearContents

nbc = 0: nbf = 0 ' initialisation variables

ligne = 1

fic = Dir(rep & "*.xlsx") ' recherche fichiers

While fic <> ""

If fic <> ThisWorkbook.Name Then

chemin = rep & fic ' chemin fichiers

Workbooks.Open chemin, 0 ' ouverture

Set Wl = ActiveWorkbook.Sheets(1)

nbl = Wl.UsedRange.Rows.Count

c = Wl.UsedRange.Columns.Count

If ligne > 2 Then l = 2 Else l = 1 ' une seule fois le titre

Wl.Cells(l, 1).Resize(nbl, c).Copy Destination:=Wf.Cells(ligne, 1)

ligne = ligne + nbl - l + 1

nbf = nbf + 1

ActiveWorkbook.Close savechanges:=False ' Fermeture du classeur

nbc = nbc + 1

End If

fic = Dir

Wend

fin:

MsgBox nbc & " classeurs regroupés avec " & nbf & " feuilles et " & ligne & " lignes"

Application.ScreenUpdating = True

Application.EnableEvents = True

Application.DisplayAlerts = True

End Sub

Bonjour et bienvenu(e)

sans test et sans conviction

Rajoutes cette ligne dans ton code

      c = Wl.UsedRange.Columns.Count
      If ligne > 2 Then l = 2 Else l = 1  ' une seule fois le titre
      Wl.Cells(l, 1).Resize(nbl, c).Copy Destination:=Wf.Cells(ligne, 1)
      Wf.Cells(ligne, c + 1).Resize(nbl).Value = fic
      ligne = ligne + nbl - l + 1
      nbf = nbf + 1
      ActiveWorkbook.Close savechanges:=False  ' Fermeture du classeur
      nbc = nbc + 1

Bonjour, je débute complètement et j'ai voulu copier ce code mais j'imagine qu'il faut renseigner le chemin d'accès au répertoire quelque part ?

Mais où ? Sous quelle forme ?

Quoi d'autres dois-je renseigner sur la base de ce code pour l'appliquer à mes fichiers ?

Merci d'avance pour vos réponses.

Gaspa

Rechercher des sujets similaires à "macro compilation fichiers comment integrer nom fichier"