Récupérer le nom d'un fichier

Bonjour le forum,

dans une macro, j'aimerais récupérer le nom d'un fichier pour qu'il devienne une variable. A savoir qu'il s'agit d'un calcul horaire par période de deux mois. Chaque mois ayant son propre fichier, le calcul devrait prendre en compte pour chaque membre du personnel son quota d'heures pour un mois à sélectionner et l'additionner à celui du fichier dans lequel je travail. Pour cela, je voudrait qu'avec un bouton, la personne qui génère l'horaire puisse sélectionner le fichier du mois qui l'intéresse et que le calcul se fasse tout seul.

Je n'en suis qu'au début du code qui est sommes toute assez simple, mais je n'arrive pas à récupérer uniquement le nom du fichier pour créer la formule.

la formule que j'utiliserais est par exemple :

=AE30+'[3. Mars 2021.xlsm]Feuille1'!AE30

Le problème que la partie entre crochet, le nom du fichier donc, change selon le moment où on fait le calcul ... et que la mise en forme de ce nom pourrait changer à l'avenir.

J'utilise actuellement "Application.GetOpenFileName" pour ouvrir le dossier où se trouve le fichier dont le nom est a récupérer, mais le problème est qu'il extrait tout le chemin (donc par exemple "C:Document\horaires21\3. Mars 2021.xlsm") ce qui ne me sert à rien dans ma formule. J'aimerais donc avoir la possibilité de laisser à l'utilisateur de sélectionner le bon fichier et en extraire uniquement "3.Mars 2021" dans mon exemple.

Auriez-vous une idée ?

Merci déjà à qui pourra m'aider.

Cordialement,

Rékiss

Bonsoir,

L'utilisation de Application.GetOpenFileName me semble être la bonne solution, pour ne conserver qu'une partie du nom on peut toujours utiliser Split par exemple et prendre l'élément de la dernière ligne du tableau en utilisant "\" comme délimiteur.

nom = Application.GetOpenFileName()
tableau = Split(nom, "\")
nom = tableau(ubound(tableau,1))

C'etait pourtant si simple...

Merci beaucoup Ausecour

Rechercher des sujets similaires à "recuperer nom fichier"