Lien hypertexte dynamique en VBA

Bonjour,

j'ai un document dans lequel je souhaite intégrer des liens hypertextes dynamiques.

Pour l'existant, j'ai utilisé la formule lien_hypertexte qui renvoie vers un onglet qui dynamique :

=LIEN_HYPERTEXTE(CONCATENER("#'";"client_";GAUCHE($J$1;3);"'!a1");"client_"&GAUCHE($J$1;3))

J'ai une macro par laquelle j'intègre de nouveaux clients. Je souhaiterai codifier cette formule excel en vba. J'ai utilisé l'enregistreur et adapté ma formule avec une variable VAL1 préalablement définie dans ma macro :

"=HYPERLINK(CONCATENATE(""#'"",""client_"",val1,""'!a1""),"client_";val1)"

Lorsque la macro développe, elle ne transforme pas ma VAL1 par la valeur de la variable,mais intègre 'val1' dans la formule.

Comment puis-je m'en dépatouiller.

J'ai l'impression que cette formule en vba ne peut prendre de variable. Qui a une idée??

Bonsoir,

Pas besoin d'idée ! Suffit de respecter la syntaxe ! Une expression entre guillemets est une chaîne : l'insertion d'un nom de variable dans une chaîne n'est plus qu'un mot de la chaîne et ne repésente plus la variable (mot qui du reste ne correespond à rien dans une formule et ne sera pas reconnu).

De surcroît, mettre une formule en VBA alors qu'on peut insérer directement un lien ne paraît pas la meilleure option ! Surtout de la façon dont c'est envisagé.

Cordialement.

Bonsoir,

Je rejoins MFerrand (salut !), si on passe par du VBA, autant créer le lien hypertexte en VBA et non par une formule.

Ci-joint une proposition à tester, les liens sont créés en VBA.

Bonne soirée

Bouben

254lienshypertextes.xlsm (19.15 Ko)

tout d'abord, merci de vous intéresser à mon cas

Je suis d'accord avec vos remarques et comprend mieux les raisons pour lesquelles ça plante.

Le problème c'est que j'ai besoin d'intégrer la formule et non le résultat de la formule.

Pour être plus explicite, en pièce jointe un exemple

Merci d'avance

60test-hyperlink.xlsx (11.92 Ko)

Aïe ! Pour un dispositif de déplacement vers les feuilles du classeur, la méthode est plutôt tortueuse !

La liste déroulante suffit : évènementielle qui capte le changement dans la cellule est effectue le déplacement (et efface la cellule pour la fois suivante).

Et si tu as une macro qui te crées les feuilles clients, elle peut du même coup compléter la liste source de la liste déroulante.

Cette liste nommée en dynamique permet son extension simutanée dans la liste déroulante.

Le dispositif est extensible et se suffit à lui-même.

Cordialement.

Ci-joint une nouvelle version à tester, sans lien hypertexte.

Cdlt

Bouben

Merci pour ta réponse

Mon exemple est un peu faussé.

Dans mon «vrai» doc, je n'ai pas de liste déroulante

j ai une usf qui me permet d´alimenter mes clients en créant l onglet qui va bien.

Sur ma synthèse, plusieurs éléments et cette solution me paraissait être la plus adaptée.

S'il n'y a aucune autre possibilité, je chercherai un contour, mais si je pouvais faire sans, ce serait top...


Merci bouben, je jette un oeil demain

bonsoir bouben,

je viens de regarder ta proposition. Elle est pas mal mais (évidemment, ya un mais ) elle a comme pivot la liste déroulante que je n'exploite pas dans mon doc.

comme je l'évoquais, lors de la création d'un nouveau client, ma macro me génère un onglet avec la dénom de ce client puis sur ma feuille de synthèse, j'ai besoin d'une formule du genre lien_hypertexte.... c'est un peu tordu, mais je suis coincée

Si quelqu'un a une idée pour adapter cette f*** formule

Merci d'avance

Bonjour,

L'orientation proposée par Bouben est la plus rationnelle en rapport avec le problème tel que tu l'as posé !

Maintenant, si tu fournis un modèle pour venir ensuite expliquer qu'il ne correspond pas à ton fichier... tu n'aides pas à t'aider !

Ceci étant et sous réserve des nombreuses informations que tu gardes encore sous le manteau (!), je persiste à penser que la solution la plus naturelle est d'opérer sans lien hypertexte, et au cas où le recours à un lien apparaîtrait justifié, la solution serait alors d'opérer l'insertion du lien et non d'une formule !

Cordialement.

Bonjour,

MFERRAND, tu as parfaitement raison et ce n'était pas très malin de ma part de joindre un exemple qui ne correspond pas exactement à ce que j'attends. J'ai vite faite - mal fait .

En pièce jointe, un fichier qui pour le coup est plus fidèle à ce que je souhaite .

Merci d'avance

74test-hyperlink.xlsx (13.72 Ko)

Bonsoir,

Que penses-tu de ce compromis ?

Rechercher des sujets similaires à "lien hypertexte dynamique vba"