Bonjour,
La macro "Compilation" du fichier "Recap.xls" permet de concatener des fichiers tous les fichiers XLS d'un repertoire dans le fichier "Recap.xls".
Pour un besoin professionnel, j'aurais besoin de (faire) modifier cette macro que j'ai trouvé sur ce même site. Je précise que cette macro fonctionne très bien. Je souhaiterais néanmoins la modifier pour pouvoir l’exécuter depuis un autre fichier Excel... Et là, rien à faire, je n'y arrive pas.
L'idée est de pouvoir depuis un fichier satellite synchroniser vers le fichier "Recap". En gros, ce sont les petits fichiers qui pilotent le gros fichier. Donc PostMyModifications doit ouvrir le fichier Recap et exécuter la macro Compilation... ou plutot la faire marcher !
Merci de votre aide et bonnes fêtes
Code du fichier Satellite :
Code du fichier Recap :
RBM
La macro "Compilation" du fichier "Recap.xls" permet de concatener des fichiers tous les fichiers XLS d'un repertoire dans le fichier "Recap.xls".
Pour un besoin professionnel, j'aurais besoin de (faire) modifier cette macro que j'ai trouvé sur ce même site. Je précise que cette macro fonctionne très bien. Je souhaiterais néanmoins la modifier pour pouvoir l’exécuter depuis un autre fichier Excel... Et là, rien à faire, je n'y arrive pas.
L'idée est de pouvoir depuis un fichier satellite synchroniser vers le fichier "Recap". En gros, ce sont les petits fichiers qui pilotent le gros fichier. Donc PostMyModifications doit ouvrir le fichier Recap et exécuter la macro Compilation... ou plutot la faire marcher !
Merci de votre aide et bonnes fêtes
Code du fichier Satellite :
Code:
Sub PostMyModifications()
'Concantene dans le fichier Recap
Workbooks.Open Filename:="D:\Documents and Settings\vohc437\Bureau\CNMREII\Chef\Recap.xls"
Application.Run "Recap.xls!Compilation"
ActiveWorkbook.Close False
End Sub
Code du fichier Recap :
Code:
Sub Compilation()
Dim Temp As String
Dim Ligne As Long
Temp = Dir(ActiveWorkbook.Path & "\*.xls")
Application.DisplayAlerts = False
Do While Temp <> ""
If Temp <> "Recap.xls" Then
Workbooks.Open ActiveWorkbook.Path & "\" & Temp
Workbooks(Temp).Sheets(1).Range("A1").CurrentRegion.Copy
Workbooks("Recap.xls").Sheets(1).Activate
Ligne = Sheets(1).Range("A65536").End(xlUp).Row + 1
Range("A" & CStr(Ligne)).Select
Workbooks("Recap.xls").Sheets(1).Paste
Workbooks(Temp).Close
End If
Temp = Dir
Loop
Range("A1").Select
End Sub
RBM
Dernière édition: