• Initiateur de la discussion Initiateur de la discussion bigmousse
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bigmousse

XLDnaute Occasionnel
Bonjour,
J'utilise l'appli "getopenfilename" pour que l'utilsateur puisse ouvrir le fichier,
Ensuite, j'ai besoin de récuperer le nom du fichier pour l'utiliser dans l'objet workbooks :
Workbooks("nom du fichier").sheets(x,y) ...

Le problème de l'appli getopenfilename me renvoie le chemin et pas le nom, alors comment faire???

Merci
mousse
 
Re : VBA nom du fichier

bonjour bigmousse,

voici un exemple :
Code:
Sub test()
Dim pathFichier As String, nomFichier As String, tmpStr() As String
Dim leClasseur As Workbook

    'récupérer le fichier (path complet)
    pathFichier = Application.GetOpenFilename
    
    'ouvrir le fichier
    Set leClasseur = Application.Workbooks.Open(pathFichier)
    
    'maintenant tu peux travailler avec ce classeur...
    leClasseur.Sheets("toto").Range("A1") = "test"
    
    
    'si tu veux quand même récupérer le nom du fichier :
    tmpStr = Split(pathFichier, "\")
    nomFichier = tmpStr(UBound(tmpStr))
    
End Sub

a+
 
Re : VBA nom du fichier

Je m'excuse pour ne pas t'avoir donner de retour, peut être je suis un peu pressé :

Voilà un morceau de mon code, j'ai apporté les corrections que tu m'as proposé mromain, je te remercie beaucoup, c'est ce que je voulais.

Code:
Set Mon_TdB = ThisWorkbook
    'ouverture de la boite de dialogue et selection du fichier par l'utilisateur
    FileToOpen = Application.GetOpenFilename("Fichier Excel (*.xls),*.xls)", , "Analyser le fichier", , True)
    'Variable type workbook du classeur à analyser
    j = UBound(FileToOpen)
    For z = 1 To j
    Set MES_DONNEES = Application.Workbooks.Open(FileToOpen(z))
    'récuperation du nom du fichier à partir du chemin renvoyé par l'application "GetOpenFilename"
    TmpStr = Split(FileToOpen(z), "\")
    FileName = TmpStr(UBound(TmpStr))
    TmpStr = Split(FileName, ".")
    FileName = TmpStr(LBound(TmpStr))
    Ma_Date = CDate(Mid(FileName, 7, 2) & "/" & Mid(FileName, 5, 2) & "/" & Mid(FileName, 1, 4))


Pour toi Lii, je viens de lire ta reponse, même si l'execution est longue, je devais avancer sur le fichier car j'ai d'autres points à traiter.
Je te remercie pour ta reponse et je pense que je te repondrais d'ici quelques jours après l'avoir testé et l'avoir compris. Sache que le temps d'éxecution reste ma priorité, ta reponse sera traité et tu auras un retour c'est sûr.
Je vous remercie pour votre aide, j'ai gagné un temps précieux.
Merci beaucoup
Salutations
mousse
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
849
  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
1 K
Retour