Alexdubeffroi
XLDnaute Nouveau
Bonjour le forum,
Voici quelques temps que j'utilise le forum en tant que simple lecteur, j'y trouve généralement tout ce dont j'ai besoin . Cependant, aujourd'hui je dois créer une Macro me permettant d'obtenir le nom et le chemin d'un classeur fermé et je n'y parviens pas et ne trouve rien pouvant m'aider dans les autres posts. Je précise, j'ai un fichier contenant beaucoup de macros (Fichier principal) me permettant de traiter les données d'autres fichiers(Base de données). Ce traitement fonctionne correctement cependant l'utilisateur doit copier-coller le "FullName" de la Base de données à traiter par le fichier principal et je voudrai alors créer une macro qui lui permette de simplement choisir le fichier.
Pour cela, j'avais pensé à:
-Demander à l'utilisateur de choisir son fichier en l'ouvrant
-Detecter lorsque le nombre de Workbook augmente, cela signifie qu'un fichier à été ouvert (surement la base de données à traiter)
-Obtenir le nom de ce workbook venant d'être ouvert et le stocker dans mon fichier principal.
Il semble que ce ne soit pas possible car lorsque la macro est en route il ne m'est pas possible d'ouvrir de nouveau workbook. Je joint le début de macro auquel j'avais pensé en éspérant que quelqu'un pourra m'aider.
Merci à ceux qui prendront la peine de me lire.
Alex
Voici quelques temps que j'utilise le forum en tant que simple lecteur, j'y trouve généralement tout ce dont j'ai besoin . Cependant, aujourd'hui je dois créer une Macro me permettant d'obtenir le nom et le chemin d'un classeur fermé et je n'y parviens pas et ne trouve rien pouvant m'aider dans les autres posts. Je précise, j'ai un fichier contenant beaucoup de macros (Fichier principal) me permettant de traiter les données d'autres fichiers(Base de données). Ce traitement fonctionne correctement cependant l'utilisateur doit copier-coller le "FullName" de la Base de données à traiter par le fichier principal et je voudrai alors créer une macro qui lui permette de simplement choisir le fichier.
Pour cela, j'avais pensé à:
-Demander à l'utilisateur de choisir son fichier en l'ouvrant
-Detecter lorsque le nombre de Workbook augmente, cela signifie qu'un fichier à été ouvert (surement la base de données à traiter)
-Obtenir le nom de ce workbook venant d'être ouvert et le stocker dans mon fichier principal.
Il semble que ce ne soit pas possible car lorsque la macro est en route il ne m'est pas possible d'ouvrir de nouveau workbook. Je joint le début de macro auquel j'avais pensé en éspérant que quelqu'un pourra m'aider.
Code:
Sub Path_of_open_file()
'Compte le nombre de workbooks et stocke dans la variable Nbwbinit
Nbwbinit = Workbooks.Count
'Tant qu'aucun workbook n'a été ouvert, on attend
While Not (Workbooks.Count > Nbwbinit)
Application.Wait (Now + TimeValue("0:00:01"))
ActiveWorkbook.RefreshAll
Wend
'Si un workbook est ouvert actions
MsgBox "Done"
'Resultat = ActiveWorkbook.name
End Sub
Merci à ceux qui prendront la peine de me lire.
Alex