Otention du nom et chemin d'un classeur fermé dont le nom n'est pas connu

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.

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
 

berced

XLDnaute Nouveau
Re : Otention du nom et chemin d'un classeur fermé dont le nom n'est pas connu

Bonjour,

pourquoi ne pas passer par le code avec un "Application.GetOpenFilename" pour la sélection du fichier plutôt que d'épier l'utilisateur ?

Bon courage !

berced
 

Pierrot93

XLDnaute Barbatruc
Re : Otention du nom et chemin d'un classeur fermé dont le nom n'est pas connu

Bonjour,

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.

bah... comprends pas trop... tu peux toujours lancer une instruction pour ouvrir un classeur... Avec ceci par exemple :

Code:
With Application.FileDialog(msoFileDialogFilePicker)
    .InitialFileName = ThisWorkbook.Path & "\"
    .Filters.Clear
    .Filters.Add "MesFichiers", "*.xls"
    .Show
    If .SelectedItems.Count > 0 Then Workbooks.Open .SelectedItems(1)
End With

bon après midi
@+
 

Alexdubeffroi

XLDnaute Nouveau
Re : Otention du nom et chemin d'un classeur fermé dont le nom n'est pas connu

Bonjour Pierrot, Berced,

bah... comprends pas trop... tu peux toujours lancer une instruction pour ouvrir un classeur.

Je suis débutant et je ne connaissais pas cette instruction mais c'est exactement ce dont j'avais besoin.

Désolé de ne pas avoir été assez clair, merci infiniement :)

Bon après-midi

Alex
 

Discussions similaires

Réponses
1
Affichages
298
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 206
Messages
2 086 222
Membres
103 158
dernier inscrit
laufin