Bonjour à tous,
J'ai crée une macro qui me permet d'assembler des fichiers, dans le même onglet, à la suite les uns des autres.
Je cherche maintenant à récupérer, pour chacun des fichiers en question, le titre du fichier, et le coller dans la colonne K de mon fichier.
Je pensais donc utiliser la fonction titre = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) pendant mon code puis dire à Excel, colle le titre en K2 puis en K2+12 (nombre de lignes que je sélectionne dans mon fichier)...
Cependant, je n'arrive pas à lui formuler correctement. Pouvez-vous m'aider?
Voici mon code:
Sub Importfiles()
Application.DisplayAlerts = False
Set wbdest = ActiveWorkbook
Dim titre
ChDrive "C": ChDir "C:\Users\utilisateur\Documents\8 - CRO\2 - Standard\Test"
fichier = Dir("*.xls")
Do While fichier <> ""
Set wbsource = Workbooks.Open(fichier)
Set wksNewSheet = wbsource.Sheets("STATS")
wksNewSheet.Activate
wksNewSheet.Select
Range(Cells(8, 2), Cells(19, 11)).Select
Selection.Copy
wbdest.Activate
i = Range("A1048576").End(xlUp).Row
Cells(i + 1, 1).Select
ActiveSheet.Paste
wbsource.Close
fichier = Dir
titre = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
???
Loop
wbdest.Activate
Application.DisplayAlerts = True
End Sub
Bon week-end à tous
J'ai crée une macro qui me permet d'assembler des fichiers, dans le même onglet, à la suite les uns des autres.
Je cherche maintenant à récupérer, pour chacun des fichiers en question, le titre du fichier, et le coller dans la colonne K de mon fichier.
Je pensais donc utiliser la fonction titre = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4) pendant mon code puis dire à Excel, colle le titre en K2 puis en K2+12 (nombre de lignes que je sélectionne dans mon fichier)...
Cependant, je n'arrive pas à lui formuler correctement. Pouvez-vous m'aider?
Voici mon code:
Sub Importfiles()
Application.DisplayAlerts = False
Set wbdest = ActiveWorkbook
Dim titre
ChDrive "C": ChDir "C:\Users\utilisateur\Documents\8 - CRO\2 - Standard\Test"
fichier = Dir("*.xls")
Do While fichier <> ""
Set wbsource = Workbooks.Open(fichier)
Set wksNewSheet = wbsource.Sheets("STATS")
wksNewSheet.Activate
wksNewSheet.Select
Range(Cells(8, 2), Cells(19, 11)).Select
Selection.Copy
wbdest.Activate
i = Range("A1048576").End(xlUp).Row
Cells(i + 1, 1).Select
ActiveSheet.Paste
wbsource.Close
fichier = Dir
titre = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
???
Loop
wbdest.Activate
Application.DisplayAlerts = True
End Sub
Bon week-end à tous