Comment gérer les fichiers contenus dans un dossier et ses sous-dossiers avec les liens hypertextes d'Excel ?

Guide « 108 astuces pour grands débutants sur Excel ! » Offert
Booster votre productivité en téléchargeant gratuitement votre ebook PDF des meilleures astuces pour les débutants et les pros d'Excel
Excel formation - 00 Astuces - 100
 

Dans ce tutoriel, nous allons découvrir comment automatiser la construction de liens hypertextes à partir de l’adresse d’un fichier ou d’une adresse internet saisie dans une cellule Excel.

Il s’agit en effet de répondre à la question posée par NIALA331 dans les commentaires de la vidéo « Comment lister les fichiers enregistrés dans un dossier et ses sous-dossiers sans VBA sur Excel ? » qui souhaite savoir comment transformer le chemin d’un fichier en lien hypertexte pour pouvoir ouvrir rapidement ce fichier.

Excel formation - Obtenir la liste de fichiers - hypertexte - 01

 

Téléchargement

Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
 

 

Tutoriel Vidéo

 

 

1. Introduction

Rappelez-vous, il y a quelques semaines, nous avions vu qu’il était très simple de récupérer la liste des fichiers contenus dans un dossier ainsi que ses sous-dossiers en utilisant Power Query.

Maintenant, pour que ces résultats soient vraiment utiles et exploitables, il faudrait pouvoir être capable d’ouvrir directement ces fichiers depuis le classeur Excel d’un simple clic.

 

2. Créer un lien hypertexte

Pour accéder à un fichier ou une page web directement en cliquant sur une cellule Excel, nous pouvons insérer un lien hypertexte.

Un lien hypertexte permet donc de rendre un élément quelconque cliquable.

Sur Excel, il est possible de créer un lien hypertexte de trois manières différentes :

  • Soit en affectant un lien hypertexte à la cellule,
  • Soit en utilisant la fonction LIEN_HYPERTEXTE(),
  • Soit en développant une petite macro-commande en VBA

Et pour commencer, nous allons voir comment créer un lien directement sur une cellule, ce qui est la méthode la plus rapide à mettre en place sur une cellule unique.

Il suffit en effet d’effectuer un clic droit sur la cellule, puis de sélectionner « Lien », sur le bas du menu contextuel.

Sur la fenêtre qui s’affiche, nous sélectionnons la première option « Fichier ou page web existant(e) », et nous saisissons le chemin d’accès au fichier dans le champ « Adresse » :

Excel formation - Obtenir la liste de fichiers - hypertexte - 02

Ici, nous devons donc ressaisir le chemin à la main, en commençant par le contenu de la colonne « Dossier d’enregistrement », puis « Nom de fichier » :

Excel formation - Obtenir la liste de fichiers - hypertexte - 03

Ensuite, nous validons en cliquant sur le bouton [OK].

Maintenant, nous pouvons identifier la présence du lien hypertexte par le texte bleu souligné :

Excel formation - Obtenir la liste de fichiers - hypertexte - 04

Et bien entendu, si nous cliquons sur ce fichier, Excel l’ouvrira directement.

Ici, il s’agit directement d’un classeur Excel, c’est pourquoi celui-ci s’ouvre directement dans le tableur, mais si cela avait été un autre type de fichier, Excel aurait alors lancé l’application définie par défaut pour le type de fichier (Word, PowerPoint, Paint…).

Alors évidemment, comme vous avez pu le constater, ressaisir l’intégralité du chemin d’ouverture du fichier peut être rébarbatif.

Pourtant, un peu plus tôt je vous expliquais que cette méthode était la plus rapide à mettre en place, mais pour cela, il faut que le chemin d’accès soit accessible directement dans la cellule, afin de pouvoir en effectuer un copier-coller directement dans le champ Adresse :

Excel formation - Obtenir la liste de fichiers - hypertexte - 05

Pour gagner encore un peu de temps, il est possible d’afficher la fenêtre en utilisant le raccourci clavier [Ctrl]+[k].

De plus, si le lien est bien formaté, Excel pourra créer le lien automatiquement :

Excel formation - Obtenir la liste de fichiers - hypertexte - 06

 

3. Créer un lien avec la fonction LIEN_HYPERTEXTE

En revanche, pour créer une série de plusieurs liens, il sera plus rapide de générer le lien en utilisant la fonction LIEN_HYPERTEXTE().

Cette fonction permet d’insérer rapidement un lien, comme nous l’avons vu dans la partie précédente, mais sans avoir d’afficher la fenêtre de paramétrage.

Excel formation - Obtenir la liste de fichiers - hypertexte - 07

Dans notre exemple, nous devrons concaténer le résultat des deux cellules en utilisant une esperluette :

=LIEN_HYPERTEXTE([@[Dossier  d''enregistrement]]&[@[Nom de fichier]])

De plus, étant donné que la base de données est présentée sous la forme d’un tableau Excel, il suffit de créer la formule une fois pour que celle-ci soit dupliquée sur toute la colonne.

Ensuite, pour améliorer la lisibilité des données, nous pouvons ajouter ce qu’Excel appelle un nom convivial, c’est-à-dire un texte présentant le lien, à la place de son chemin.

Par contre, l’inconvénient de cette méthode, c’est que celle-ci nécessite la création d’une colonne supplémentaire.

 

4. Automatiser la création de tous les liens de la colonne en VBA

Si nous souhaitons automatiser la création de liens hypertextes, directement dans une des colonnes existantes, nous devrons créer une petite macro en VBA, laquelle reposera sur les notions découvertes dans le tutoriel dédié à la création d’un sommaire automatique, que vous retrouverez en cliquant ici.

Pour que ce tutoriel soit accessible à tout le monde, nous allons revenir dans le détail sur aspect de la construction de cette macro, qui reste très sommaire.

Mais si vous souhaitez aller plus loin dans la découverte du langage VBA, vous pouvez évidemment consulter la formation disponible sur le blog en cliquant ici.

Pour commencer à créer une macro, nous allons lancer l’éditeur de code VBE (pour Visual Basic Editor), qui est l’éditeur de code intégré dans les différentes applications de la suite Office et qui permet de développer des macro-commandes en VBA.

Pour cela, nous appuyons simplement sur les touches [Alt]+[F11] :

Excel formation - Obtenir la liste de fichiers - hypertexte - 08

VBE s’ouvre alors et nous allons commencer par créer un nouveau module.

Un module est une feuille de saisie de code dans laquelle nous allons pouvoir saisir nos macros et fonctions.

Pour insérer un nouveau module, nous nous rendons dans le menu Insertion > Module :

Excel formation - Obtenir la liste de fichiers - hypertexte - 09

Une fois le module inséré, nous pouvons créer la macro en utilisant le mot-clé Sub, suivi du nom de la macro :

Sub creerLiens()
 
End Sub

Ici, nous allons passer en revue toutes les cellules de la colonne « Nom de fichier » du tableau nommé « Articles_01_2021 ».

Pour cela, nous créons une nouvelle variable que nous appelons c (pour « cellule ») et que nous typons en tant que Range, c’est-à-dire un objet de type plage de cellule.

    Dim c As Range

Cette variable c va nous permettre de mettre en place une boucle For Each :

    For Each c In [Articles_01_2021[Nom de fichier]]
        
    Next

Ensuite, pour créer le lien dans la cellule retournée par l’objet c, nous pouvons utiliser la méthode ActiveSheet.Hyperlinks.Add qui fonctionne de la manière suivante :

ActiveSheet.Hyperlinks.Add anchor:=c,  Address:=c.Offset(0, 2) & c, TextToDisplay:=c.Value
  • ActiveSheet.Hyperlinks.Add : Ici, nous créons un lien hypertexte dans la feuille de calcul active,
  • anchor:=c : nous insérons ce lien dans la cellule en cours, retournée par c
  • Address:=c.Offset(0, 2) & c : pour créer un lien vers un fichier externe, nous devons utiliser le paramètre Address, en spécifiant le chemin complet du fichier que nous obtenons par la concaténation des cellules contenues dans les colonnes « Dossier d’enregistrement », puis « Nom de fichier » :
  • TextToDisplay:=c.Value: et enfin, nous spécifions le texte que nous souhaitons afficher dans la cellule, ici le nom du fichier contenu dans la cellule c

Il ne reste plus qu’à tester la macro en appuyant sur la touche F5 pour constater que tous les liens sont bien insérés :

Excel formation - Obtenir la liste de fichiers - hypertexte - 10

 



Articles qui pourraient vous intéresser

Comment protéger efficacement un classeur Excel en utilisant une clé USB comme protection physique ?
Comment lire un fichier externe (txt, csv,…) avec une fonction Excel VBA ?
Comment créer un arbre généalogique en quelques minutes sur Excel ?
Comment lire un fichier externe depuis un classeur sans VBA Excel ?
Comment consolider plusieurs classeurs Excel dans un classeur unique ?
Comment automatiser la mise à jour des formules Excel ?
Comment vérifier qu’une adresse mail est valide sur Excel ?
Comment protéger efficacement le contenu de vos fichiers Excel ?
Comment afficher une image différente en fonction de la valeur d’une cellule Excel (sans VBA) ?
Comment faire clignoter une cellule Excel ? La mise en forme dynamique
COMMENT EFFACER ET PERSONNALISER LA LISTE DES DOCUMENTS RÉCENTS D’EXCEL (la vraie méthode)
Comment compter le nombre de cellules contenant un nombre de caractères sur Excel sans VBA ?

Contact - Plan du site - À propos - Contact

© Excelformation.fr 2018-2022 - Excel, simplement

Haut de la page

Excelformation.fr propose de nombreuses formations pratiques et gratuites sur Microsoft Excel : des cours pour apprendre à structurer et analyser les données, des tutos sur les fonctions avancées, les formules et les formules avancées d'Excel, les formules matricielles, les mise-en-formes conditionnelles, les graphiques Excel (xls, xlsx, xlsm,…). Des tutoriels pour apprendre à automatiser les tâches répétitives (via des macro-commandes en VBA) de vos classeurs Excel.