Résolu Résolu Mise en page liens hypertextes automatiquement

Leché

XLDnaute Nouveau
Bonjour à tous et à toutes,

Je cherche un code VBA permettant d'affecter automatiquement des liens hypertextes en fonction de la valeur d'une cellule et donc en fonction du nom du fichier.

Le but serait que pour chaque valeur saisie dans la colonne B2 (image 1) , le plan (image 2) soit automatiquement affecté en lien hypertexte à la cellule.

A savoir que les 10 premiers chiffres des cellules en B, correspondent à chaque fois aux 10 premières valeurs du numéro du plan.


2.PNG 1.PNG

A vos idées..
En vous remerciant d'avance pour vos réponses.
Je reste attentif a vos réponses

Cordialement,
 
Ce fil a été résolu! Aller à la solution…

Dudu2

XLDnaute Impliqué
Bonjour,
Et comment tu indiques le path de ces fichiers dont le lien hypertexte a besoin ?
En utilisant le répertoire de base des liens hypertexte ?
2020-06-29_155527.jpg
 

Leché

XLDnaute Nouveau
Bonjour,

Je n'ai pas saisie pourquoi il faut mettre le liens dans les propriétés. Cela va permettre l'attribution de lien hypertexte automatiquement ?
 

Dudu2

XLDnaute Impliqué
Un lien hypertexte vers un fichier contient en principe le chemin du fichier et le nom du fichier:
C:\Images\Excel\image1.jpg
Tu peux te passer du chemin du fichier dans 2 circonstances:
- Tu as la chance que le répertoire courant pour Excel soit le chemin du fichier
- Tu as défini le chemin dans le répertoire de base des liens hypertexte (comme indiqué ci-dessus)

En général, pour un lien hypertexte vers un fichier on indique le chemin complet.

Mais je me trompe peut-être sur ce que tu entends par "lien hypertexte" car tu n'as pas précisé SUR QUOI doivent pointer ces liens hypertexte.
 

Leché

XLDnaute Nouveau
D'accord je comprend , donc oui il faut que je passe par le répertoire de base pour déjà avoir le dossier de base pour récupérer les plans.

Mon objectif est d'automatiser le fait de cliquer sur "Lien hypertexte" + choisir parmi la longue liste des documents, celui qui correspond à la valeur de ma cellule.

Par exemple , dans ma colonne B, j'ai la valeur 123456789, et il faudrait que en un clic, le plan ( stocké dans mon dossier) ayant pour nom 123456789_000_A3 soit lié à ma cellule

Je ne sais pas si j'ai été assez claire .. ?
 

Dudu2

XLDnaute Impliqué
Ok donc ce n'est pas seulement le besoin de mettre un lien hypertexte à partir des données de la feuille, mais il faut en plus aller chercher le fichier correspondant dont on ne connait que le début du nom indiqué en colonne B.
Et que fait-on si on trouve plusieurs fichiers candidats qui commencent par les chiffres de la colonne B ?
 

Leché

XLDnaute Nouveau
Il n'est pas possible d'avoir ce cas là, la valeur en colonne B indique un numéro de PLAN , le plan en question est celui dans le dossier. Pour cela qu'il faudrait ce baser sur les 10 premiers chiffres.

Regarde dans la photo 2 , le nom du doc est similaire au valeur de la colonne B , hormis le 000 (qui correspond au numéro de la planche) et le A4 (format du plan)
 

Dudu2

XLDnaute Impliqué
Ok, je vais te faire un utilitaire qui construit les liens hypertextes à partir d'une sélection de cellules (celles de la colonne B) et d'un répertoire contenant les fichiers plans.
 

Dudu2

XLDnaute Impliqué
Question: les fichiers plans sont dans un répertoire ou dispersés dans un répertoire et ses sous-répertoires ?

Question: tous les plans sont des fichiers TIF ?
 
Dernière édition:

Dudu2

XLDnaute Impliqué
J'ai fait un classeur indépendant dans lequel tu précises les informations / paramètres de traitement.
J'ai considéré que les fichiers Plans étaient de type .TIF ce qui exclu la recherche d'autres fichiers.
Aussi que les fichiers Plans étaient regroupés dans un répertoire unique.
C'est facilement modifiable.

Edit: fichier modifié
 
Ce message a été identifié comme étant une solution!

Fichiers joints

Dernière édition:

Leché

XLDnaute Nouveau
J'ai fait un classeur indépendant dans lequel tu précises les informations / paramètres de traitement.
J'ai considéré que les fichiers Plans étaient de type .TIF ce qui exclu la recherche d'autres fichiers.
Aussi que les fichiers Plans étaient regroupés dans un répertoire unique.
C'est facilement modifiable.
Super , je regarde en rentrant a la maison :)
Merci en tout cas
 

Leché

XLDnaute Nouveau
Bonjour,

Super, cependant je n'ai que deux liens qui se mettent (les deux premiers) je vais essayer de regarder pourquoi :)

En tout cas , merci beaucoup pour ta précieuse aide
 

Leché

XLDnaute Nouveau
En effet , j'avais trouvé l'erreur qui était bien celle là :)

Cela marque pour une unique colonne ou si j'étend ma sélection à " B2:D20" cela marche aussi ?

Super en tout cas, rapide , efficace et propre !!
 

Dudu2

XLDnaute Impliqué
Oui cela fonctionnera car chaque cellule de la plage est traitée.

Il est aussi possible d'indiquer une plage "multi-area" comme B2:B4,B6:B8,D12:E20
 
Dernière édition:

Dudu2

XLDnaute Impliqué
Reprends le fichier que je viens de modifier et dans lequel j'ai corrigé un petit bug pour la suppression des liens hypertextes éventuels qui n'a aucune chance de se produire dans ce contexte mais pour le principe. :cool:
 
Dernière édition:

Dudu2

XLDnaute Impliqué
Il faut prendre le fichier du message #10

Bug: (au-delà de 1 ça bug, mais tu n'en as jamais plus d'1)
VB:
        'Suppression des liens hypertextes éventuels
        For i = 1 To Cellule.Hyperlinks.Count
            Cellule.Hyperlinks(i).Delete
        Next i
Pas bug:
VB:
        'Suppression des liens hypertextes éventuels
        Do While Cellule.Hyperlinks.Count
            Cellule.Hyperlinks(1).Delete
        Loop
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas