Bonjour,
J'ai construit un fichier avec deux macros:
la première ouvre le navigateur afin de sélectionner un autre fichier duquel importer les données.
Elle va faire une sélection de colonnes et retourne dans mon fichier de base pour les coller.
La seconde macro va traiter les données et les mettre en forme.
Tout va bien mais je n'arrive pas à trouver le moyen de fermer le fichier qui est appelé pour la copie des données, étant donné que je repasse d'abord au fichier de base pour coller les données avant de pouvoir le quitter.
J'ai tenté de faire quelque chose avec la fonction suivante pour récupérer le nom après avoir ouvert le fichier :
'Pop up a window to select the file to import, unfilter the table, copy the columns.
Private Sub GetFileUnfilter()
Dim fNameAndPath As Variant
fNameAndPath = Application.GetOpenFilename(FileFilter:="Excel Files (*.XLS), *.XLS", Title:="Select File To Be Opened")
If fNameAndPath = False Then Exit Sub
Workbooks.Open Filename:=fNameAndPath
On Error Resume Next
ActiveSheet.ShowAllData
Columns("A:W").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
End Sub
'search for filename
Function FileToClose() As String
FileToClose = ActiveWorkbook.FullName
End Function
Plus loin dans mon code, après avoir collé les données dans le fichier de base, j'ai voulu appeler le second workbook pour le fermer, mais je n'arrive pas à trouver le bon code pour rappeler le workbook pour le fermer.
Private Sub CloseFile()
Workbooks(FileToClose).Close
End Sub
Est-ce que vous auriez une solution à me proposer ?
D'avance un grand merci