Voici quelques formules glanées ici ou là, permettant d’insérer dans une cellule des informations sur le fichier et son emplacement en utilisant les fonctions et sans macros.

Notez que j’ai fais le même article concernant Libre Office ici…

Par ce qu’il faudra peut être adapter ces formules à votre usage et que ça me parait important, je me permet aussi de les expliquer… mais c’est pas toujours facile.

Les formules qui vont bien

Chemin complet du fichier

C’est une fonction directement intégrée dans Excel, il suffit de la connaitre.

=CELLULE("nomfichier")

Retourne : D:\Users\Eric\Documents\Démonstration\Excel\[Arborescence et nom de fichiers sous Excel.xlsx]Onglet 1

Nom du fichier

Il s’agit de sélectionner une partie du texte précédent ; à partir du moment où le caractère « [ » est trouvé ; durant le nombre de caractères situés entre « [ » et « ] » moins 6 caractères qui correspondent à « .xlsx] ».

=STXT(CELLULE("nomfichier");TROUVE("[";CELLULE("nomfichier"))+1;SOMME(TROUVE({"[";"]"};CELLULE("nomfichier"))*{-1;1})-6)

Retourne : Arborescence et nom de fichiers sous Excel

Arborescence complète

Cette fois on sélectionne une partie du texte de l’arborescence complète ; dès le premier caractère ; durant le nombre de caractères définis par la position du caractère « [ » moins 2 caractères correspondant à  « \[ ».

=STXT(CELLULE("nomfichier");1;TROUVE("[";CELLULE("nomfichier"))-2)

Retourne : D:\Users\Eric\Documents\Démonstration\Excel

Dossier parent

Le résultat de l’arborescence complète étant dans B3, on cherche à récupérer les n caractères situés à droite de cette chaine de texte.

Pour trouver le nombre de caractères à conserver, la feinte consiste à changer le dernier « \ » de la chaine par le caractère « § », puis de faire le calcul nombre de caractère le la chaine moins la position du caractère « § ».

=DROITE(B3;NBCAR(B3)-CHERCHE("§";SUBSTITUE(B3;"\";"§";NBCAR(B3)-NBCAR(SUBSTITUE(B3;"\";"")))))

Retourne : Excel

On peut ensuite facilement retrouver les dossiers précédent en enquillant ce type de requêtes.

Nom de l’onglet

Le nom de l’onglet se trouve en récupérant les n caractères situés à droite du chemin complet du fichier.

Pour le nombre de caractères à conserver, on calcul le nombre de caractères de la chaine moins la position du caractère « ] ».

=DROITE(CELLULE("nomfichier");NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier")))

Retourne : Onglet 1

Fichier source

Pour terminer, voici le fichier que j’ai utilisé pour la démonstration : Arborescence et nom de fichiers sous Excel.xlsx

Catégories : Bureautique

2 commentaires

Vince · 18 octobre 2018 à 13 h 23 min

intéressant, mais comment exfiltrer ces infos ensuite ? via get sur une fausse image ?

    Éric B. · 19 octobre 2018 à 6 h 19 min

    Bonjour,
    Je me suis mal exprimé et ai changé mon article en conséquence.
    Le but est de récupérer ces infos pour les afficher dans une cellule de la feuille de calcul, pas de les exporter.
    Éric

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

J’accepte les conditions et la politique de confidentialité