Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Programmation lien hypertexte

D

Dan

Guest
Bonjour à tous,

Je souhaite créer des liens hypertexte par programmation VBA.
Pour l’instant, avec des UserForm que j’ai créé, je peux assigner à une cellule d’une feuille de calcul un lien hypertexte et par un autre Userform le récupérer et activer ce lien.

Le seul problème que je rencontre, c’est qu’avec ma méthode je suis obligé de taper moi-même dans cet UserForm de création, tout le chemin depuis la racine, tous les Directory et sous-directory jusqu’au nom du fichier. (ce qui est source infinie d’erreurs, d’oubli d’une lettre, de Slach mal placé ou oublié, de mémoire défaillante, de jurons et gros mots après 6 essais infructueux, bref, guerre élégante, ni pratique, comme procédure )

Or dans la Feuille de Calcul, dans le menu déroulant « Insertion », avec le bouton « Lien hypertexte » on fait apparaître un joli UserForm tout fait !

Ma question est donc : par programmation VBA est-il possible de faire apparaître directement cet UserForm et ensuite comment récupérer dans la programmation les informations qu’il va renvoyer.

Merci à ceux qui voudront bien se pencher sur « mon cas ».
Je suis néophyte en programmation Excel, mais je parcoure souvent votre forum où j’ai énormément appris. Et pour tous ces trucs et astuces, je souhaite aussi vous remercier.
 
D

Dan

Guest
Merci Roland pour cette approche de ma solution,

Je me doute bien que cette fonction Application.GetOpenFile est la solution à mon problème puisque tu dis qu’elle ouvre une boîte de dialogue et renvoi les données dont j’ai besoin.

Le seul problème, c’est que je n’arrive pas à m’en servir !
(l’aide d’Excel m’est d’aucune aide puisqu’elle me renvoi invariablement sur « mot clé introuvable » ou sur des fiches qui traitent d’une partie du problème sans m’en apprendre beaucoup plus !)

Je suppose que cette boîte de dialogue toute faite porte un nom, et qu’il faut bien le stipuler quelque part !

Si ce n’est pas abuser de ta patience, pourrais-tu me faire parvenir un exemple concret de programmation ?

Je me doute bien que cela doit être un truc tout bête, mais j’ai beau m’y prendre dans tout les sens, je n’en vois pas la solution !

Et encore merci à vous tous, et déjà, bonne fête de fin d’année
 
M

Michel_M

Guest
Bonjour Dan et Roland,

Tu peux essayer cette combine pas très glorieuse mais efficace contre les jurons (je me sens moins seul, mais moi, ça commence avant la 6° erreur)

Sur une feuille de brouillon Excel, j'utilise une (des) cellule(s)dans laquelle je créé un (des) lien(s) hypertexte(s) avec la boite de dialogue " lien hypertexte"

J'enlève ensuite le "souligné" avec format |style

Et par une série de copier-coller, j'emmène tout cela dans VBA: il n'y a plus qu'à mettre les guillemets (pour cela tu pourrais aussi faire une concaténation dans la feuille de brouillon)

A+
Michel
 
@

@+Thierry

Guest
Bonjour Michel, Dan, Roland, le Forum

Je n'ai pas vraiment tout suivi mais disons qu'il y a des moyens assez simples de créer des liens Hypertext et de les activer depuis des UserForms.

Juste un exemple d'une façon d'aborder la chose dans "MonExcelDownload" dans la rubrique XLD Goodies dans la partie téléchargement de ce site.

Bon Aprèm
@+Thierry
 
R

Roland

Guest
Bonjour la compagnie
Sauf erreur de ma part, j'ai compris que le problème de Dan était de récupérer le chemin et le nom de fichier, sans erreur de saisie, pour créer son lien hyprtexte.
Je lui est fait parvenir un exemple de Application.GetOpenFile hors Forum car je n'ai pas ZIP STI requis pour les pièces jointes.
D'ailleurs si quelqu'un peut me dire où le récupérer ...

A++
 
D

Dan

Guest
Merci Roland, merci Michel_M , merci @+Thierry,

Je crois bien qu’avec tous vos conseils je vais m’en tirer !
J’ai juste eu le temps de jeter vite fait un coup d’œil, mais, à première vue c’est ça que je cherchais. En principe j’essayerai de mettre en application demain et je vous tiendrai au courant. Mais je voulais d’abord vous remercier de votre aide !

Et pour Roland, c’est exactement ça que je cherche à faire, tu n’avais donc pas fait d’erreur ! LOL !

Bonne soirée et A+
 

Discussions similaires

Réponses
5
Affichages
427
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…