Fonction VBA pour lien hypertexte

bonjour

je sèche sur un point dans la création d une fonction vba avec un lien hypertexte vers un dossier. . Pourquoi pas une fonction excel ? parce que j'ai besoin d'une boucle et d une manip pour trouver la bonne arborescence et le bon dossier. pourquoi pas une macro "sub"? parce que je trouve plus pratique d'automatiser le lien n'étant pas seul utilisateur.

en A1, j'ai un nombre à 4 chiffres. en B1, j'entre la formule Ca c est ok.

j'ai donc créé une fonction vba dossier(cible)

D’après ce nombre à 4 chiffre je dois faire des calculs d'arrondis pour trouver le bon sous dossier de l'arborescence. Ca c est ok

D’après ce sous dossier, je liste par une boucle tous les dossiers du sous dossier, afin de trouver celui qui contient mon nombre a 4 chiffres. Ca c est ok

(oui parce que le dossier cherché n'a pas que les 4 chiffres en nom de dossier)

Je récupère donc une variable string "Txt" que je sais afficher en texte dans ma cellule B1 avec la formule =dossier(A1); c'est bien le lien complet à ouvrir. Ca c'est ok

Mais j'ai beau récupérer pleins de codes sur les forums, ca fonctionne pas avec ce que je fais : j'ai une erreur #valeur.

j'ai donc besoin juste de celle ligne de code qu'il me manque pour donner à "dossier" non pas un texte mais un lien hypertexte

Forcement je suis sur un PC hors réseau et je ne peux pas transférer de fichier sur un pc réseau.... j'ose donc espérer que mon explication est suffisamment claire pour pardonner un nom partage de fichier :)

merci pour votre aide !

Bonjour

Voici la ligne en question

Activesheet.Range("B1").FormulaLocal = "=LIEN_HYPERTEXTE(""" & sPathD & sNomFicD & """;""" & sTxt & """)"

A+

Aaaaah forcément j’essayais avec la fonction hyperlinks vba…. Merci !

Bon en revanche .... si je précise une référence dans le code, je pourrais pas utiliser la fonction dossier(cible) sur les autres lignes de mon tableau . pardon j ai pas été clair. du coup j ai essayé en remplaçant Range("B1") par activecell.... mais visiblement copier bêtement le code ne va pas.

sPathD & sNomFicD c'est bien le chemin complet vers le dossier, on est d accord ? donc pour moi la variable string nommé Txt ?

sTxt c est le texte que je veux afficher c est bien ça ?

En fait dans l’idée ce serait une ligne commençant par:

dossier= Lien , texte à afficher

En utilisant la variable Txt… puisque ma fonction est dossier(cible)

Re,

Avec une explication claire et précise SVP

Je pensais mon explication claire, désolé. Ça m’oblige à recopier tout mon code à la main :)

Je vais essayer de trouver le temps :)

Re,

Voici le code

Public Function Dossier(cible As Range) As String

Dim Fichier As String

Dim i As Integer

Chemin = "C:\DOSS\Projet\" 'chemin theorique pour l'exemple

i = 0

Fichier = Dir(Chemin, vbDirectory)

Do While Fichier <> ""

i = i + 1

If Right(Left(Fichier, 9), 4) = cible Then 'cherche un dossier dans la liste générée par la boucle contenant la valeur de la cible

txt = Chemin & Fichier

Dossier = txt 'affiche a la place de la formule le resultat de la fonction.... un texte

End If

Fichier = Dir

Loop

End Function

Du coup c'est ma ligne "Dossier=txt" que je souhaite modifier pour obtenir : dossier= "lien arborescence du dossier","texte affiché"

Rechercher des sujets similaires à "fonction vba lien hypertexte"