Bouton Pour Ouvrir Lien Hypertext
Maybe your like
Navigation
Discussion : bouton pour ouvrir lien hypertext
Sujet :


Inscrivez-vous gratuitementpour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter
- Vous n'êtes pas encore inscrit sur Developpez.com ? Inscrivez-vous gratuitement !
- Recherche avancée

- Forum
- Logiciels
- Microsoft Office
- Excel
- Macros et VBA Excel
- bouton pour ouvrir lien hypertext
Discussion : bouton pour ouvrir lien hypertext Macros et VBA Excel
- Outils de la discussion
- Afficher une version imprimable
- S'abonner à cette discussion…
- Affichage
- Mode linéaire
- Choisir le mode hybride
- Choisir le mode arborescent
- 06/12/2011, 23h40 #1 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
bouton pour ouvrir lien hypertext Bonsoir, J'ai réalisé un userform qui s'ouvre en cliquant sur les cellules d'une colonne, et j'ai mis à l'intérieur de ce userform un bouton pour ouvrir le fichier correpondant. En fait, j'ai mis les liens hypertext dans la cellule qui se trouve juste à droite de celle qui est active. et mon but est qu'en cliquant sur le bouton pour ouvrir le fichier voulu : si le lien fonctionne : le fichier s'ouvre. si le lien n'existe pas (donc cellule vide) : avoir un message qui dit : le lien n'existe pas si le lien ne fonctionne pas : avoir un message qui dit : le lien ne marche pas, veuillez contacter l'administrateur pour le corriger. et le code que j'ai écrit est celui ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Malheureusement, ca ne marche pas tout à fait, quand le lien ne fonctionne pas surtout. Pouvez vous m'aider s'il vous plait; Merci d'avance12345678910111213141516171819202122232425262728 'Pour ouvrir le document (par son lien hypertexte Private Sub CommandButton1_Click() Dim Cible As String 'Pour selectionner la cellule à la droite de la cellule active ActiveCell.Offset(0, 1).Select 'Vérifie si la cellule contient un lien hypertexte If ActiveCell.Hyperlinks.Count = 0 Then MsgBox "Pas de lien !" Else 'Extrait l'adresse du lien Cible = ActiveCell.Hyperlinks(1).Address 'Vérifie si le fichier existe. 'Si oui exécute l'ouverture du fichier sur lequel pointe le lien If Dir(Cible) <> "" Then Selection.Hyperlinks(1).Follow NewWindow:=True ' Si non ouverture du MsgBox fichier introuvable Else Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True Cellule.Hyperlinks(1).Follow NewWindow:=True 'MsgBox "Fichier introuvable" End If End If 'Cellule.Hyperlinks(1).Follow NewWindow:=True 'Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True End Sub
Répondre avec citation 0 0 - 07/12/2011, 11h53 #2 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
Pourquoi ton msgbox est en commentaire et que tu cherches quand même à ouvrir le lien si tu as vérifié que le fichier n'existait pas ? Une autre question, pourquoi est-tu passée par un userForm ?
Répondre avec citation 0 0 - 07/12/2011, 22h54 #3 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
Bonsoir, merci pour ta réponse, En fait, la problématique que je rencontre fait partie d'un projet plus large que je suis en train de réaliser. Dans mon document, j'ai une colonne où les différents documents types sont listés. et donc mon userform permet à chaque fois que je clique sur l'un des documents, il m'affiche là dedans une photo spécifique, avec la possibilité d'ouvrir ce document. Donc le souci que j'ai c'est lorsque le lien ne marche pas, je veux qu'il y ait un message pour aleter les utilisateurs. et pour les commentaires, il faut pas trop en tenir compte, je suis pas forte en VB, donc je teste des choses, et quand ca marche pas je les met en commentaire, pour ne pas les perdre et retester plus tard;
Répondre avec citation 0 0 - 08/12/2011, 11h45 #4 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
Voilà ce que je te conseille : Dans le code de la feuille dans laquelle tu sélectionnes tes cellules (à mélanger sans doute avec ce que tu fais déjà) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Dans le code du userForm :12345678910111213141516171819 Option Explicit 'Sur le changement de selection Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Then 'Sur la première colonne If Target.Value <> "" Then 'Si on a un fichier Dim cible As String If Target.Offset(0, 1).Hyperlinks.Count = 0 Then cible = "" Else cible = Target.Offset(0, 1).Hyperlinks(1).Address End If UserForm1.cible = cible UserForm1.Show End If End If End Sub Code : Sélectionner tout - Visualiser dans une fenêtre à part
Je pense qu'il est important que ta cible soit un paramètre du userForm. Utiliser la cellule active peut provoquer des erreurs plus facilement.123456789101112131415161718192021 Option Explicit 'Je te conseille de mettre la cible comme une propriété du UserForm ' et de la renseigner juste avant de faire TonUserForm.Show sur le clique de la cellule Public cible As String 'Pour ouvrir le document (par son lien hypertexte Private Sub CommandButton1_Click() 'Si pas de lien hypertexte If cible = "" Then MsgBox "Pas de lien !" Else Dim fso As New FileSystemObject 'Microsoft scripting runtime doit être coché If Not fso.FileExists(cible) Then MsgBox "Fichier introuvable" Else ThisWorkbook.FollowHyperlink cible End If End If End Sub
Répondre avec citation 1 0 - 10/12/2011, 14h03 #5 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
bonjour, Je suis désolée mais je n'arrive pas à comprendre comment corriger mon code. Si ca te gène pas, je te joint mon document, si tu peux jeter un coup d'oeil. Merci d'avance
Fichiers attachés -
BIBLOTHEQUE DES DOCUMENTS TYPES.xls (47,0 Ko, 263 affichages)
Répondre avec citation 0 1 -
- 12/12/2011, 12h20 #6 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
J'ai mis le code que je t'avais donné dans ton fichier, en adaptant un peu tu verras. Ca a l'air de faire à peu près ce que tu veux. Tu me diras.
Fichiers attachés -
BIBLOTHEQUE DES DOCUMENTS TYPES.xls (53,0 Ko, 482 affichages)
Répondre avec citation 0 1 -
- 12/12/2011, 22h21 #7 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
bonsoir, Merci beaucoup pour ton aide. c'est exactement ce que je voulais. Tu me l'as bien corrigé, car maintenant en cliquant sur une cellule vide ma userform ne se lance plus betement. Y a juste quelque chose que j'ai remarqué, quand je veux ouvrir un fichier dont le lien marche bien, j'ai un message de sécurité qui me dit : Ouverture de c:...........(chemin du fichier) Les Liens hypertexte peuvent endommager votre ordinateur et vos données. Pour protéger votre ordinateur, ouvrez uniquement les liens hypertexte de sources fiables. Voulez vous continuer? En cliquant sur oui, le fichier s'ouvre bien. Mais c'est vrai que c'est un message qui inquiète un peu. Tu crois qu'il y a un moyen de le supprimer? Encore merci beaucoup pour ton aide heuuu, y a un truc bizarre qui se produit, J'ai rajouté d'autres noms de fichier avec des liens qui marchent bien mais quand quand j'essaye de les ouvrir, j'ai du coup, tout le temps, le message qui dit que le fichier est introuvable.
c'est peu etre lié au message de sécurité ?!
Répondre avec citation 0 0 - 13/12/2011, 10h30 #8 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
Pour le problème du message d'alerte, tu peux faire
Application.DisplayAlerts = False avant l'ouverture et le remettre à True après. Pour le problème des fichiers introuvables, je pense que le problème vient du fait que tu as du entrer une adresse "relative" pour ton hyperlien. Le code ne récupère du coup que le nom du fichier et pas le chemin complet. Essaie en rentrant le chemin complet dans ton hyperlien. Question bête : pourquoi tu ne laisses pas l'utilisateur cliquer directement sur l'hyperlien ou alors que tu ne rentres pas seulement le chemin du fichier en colonne C ? EDIT : Tu veux afficher l'image, donc je comprends que tu ne laisses pas l'utilisateur cliquer sur l'hyperlien. Mais pourquoi tu ne rentres pas l'adresse directement ?Code : Sélectionner tout - Visualiser dans une fenêtre à part
Répondre avec citation 0 0 - 13/12/2011, 11h28 #9 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
C'est que je trouve plus pratique que lors du clic, la userform puisse proposer l'apercu et la possibilité d'ouvrir le document. J'ai mis le lien sur la case à droite, car si je met le lien sur la case qui contient le nom des documents et je clic les fichiers s'ouvrent directement au lieu d'ouvrir la userform. Je voyais que cette solution.
Répondre avec citation 0 0 - 13/12/2011, 11h32 #10 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
Oui, mais vu que tu n'utilises pas le lien en tant que tel, pour ne pas que l'utilisateur pense qu'il doit cliquer dessus, tu pourrais juste entrer le chemin du fichier. Ce serait plus simple à gérer. Et tu pourrais d'ailleurs masquer la colonne si tu ne veux pas que l'utilisateur voit ce chemin.
Répondre avec citation 0 0 - 13/12/2011, 11h45 #11 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
C'est ce que je croyais faire en mettant les lien hypertexte dans la colonne à droite et j'avais l'intention de masquer la colonne. Mais toi, tu me proposes visiblement autre chose mais je ne comprend pas ce que c'est, désolée.
Répondre avec citation 0 0 - 13/12/2011, 11h54 #12 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
Juste écrire C:\chemin\chemin\fichier.pdf dans la cellule
Répondre avec citation 0 0 - 13/12/2011, 14h45 #13 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
Je viens de réassyer comme tu m'as dit, çà à l'air de marcher. JE vais faire plusieur test avant de crier victoire! Merci beaucoup.
Répondre avec citation 0 0 - 13/12/2011, 15h23 #14 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
Forcément, il faut adapter un peu le code. Mais c'est plus facile de prendre la valeur de la cellule que d'aller voir s'il y a un hyperlien et de récupérer sa cible.
Répondre avec citation 0 0 - 14/12/2011, 13h50 #15 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
Bonjour, C'est moi à nouveau. J'ai une question s'il te plait. si par exemple je note un chemin dans une cellule, c:hjj\gfdh\fichier.doc mais que je ne l'insère pas en temps que lien hypertexte est ce qu'il moyen de le lancer en vba J'ai pensé à quelque chose comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
c'est pour éviter les erreurs. Car les liens que je vais enregistrer dans mon document excel, sont très nombreux et parfois c'est sur un autre serveur. et comme y aura beaucoup de monde qui utiliseront ce document. Je n'ai pas envie que çà plante sur leur poste. Merci d'avance12 Application.DisplayAlerts = False Workbooks.Open Filename:=ActiveCell.Value
Répondre avec citation 0 0 - 14/12/2011, 14h35 #16 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
Oui tu peux le lancer en VBA, c'est justement ce que je te conseillais et que j'avais mis dans le code que je t'ai proposé plus haut :
ThisWorkbook.FollowHyperlink cible Workbooks.Open ne marchera que pour des fichiers Excel.Code : Sélectionner tout - Visualiser dans une fenêtre à part
Répondre avec citation 0 0 - 14/12/2011, 15h24 #17 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
D'après ce que j'ai compris dans le document corrigé que tu m'a envoyé, dans la feuille sur laquelle je travaille, t'as demandé à ce que le lien hypertexte s'enregistre en cible, après dans le code du clic du boutton dans la userform, t'as demandé à lancer la cible. Moi je me demandais si on pourrai faire pareil mais en mettant le lien juste dans la cellule, sans l'inserer avec "clic droit, lien hypertexte). on va le marquer comme du texte. donc l'idée c'est de modifier
forming.cible = Target.Offset(0, 1).Hyperlinks(1).Address et si c'est possible de demander à ce que la valeur de la cellule (toujours qui se place juste à droite) s'enregistre en cible. Peu etre que de cette façon, le problème des liens relatifs et absolus disparaitra.Code : Sélectionner tout - Visualiser dans une fenêtre à part
Répondre avec citation 0 0 - 14/12/2011, 15h39 #18 ZebreLoup
Membre Expert 






Ingénieur FinancierInscrit enMars 2010Messages994
Détails du profil
Informations personnelles :Sexe :
Âge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994
Exactement, et comme tu t'en doutes
forming.cible = Target.Offset(0, 1).Hyperlinks(1).Address devient tout simplementCode : Sélectionner tout - Visualiser dans une fenêtre à part
forming.cible = Target.Offset(0, 1).Value Et bien sûr toujours dans le Worksheet_SelectionChangeCode : Sélectionner tout - Visualiser dans une fenêtre à part
If Target.Offset(0, 1).Hyperlinks.Count = 0 Then DevientCode : Sélectionner tout - Visualiser dans une fenêtre à part
If Target.Offset(0, 1).Value = "" ThenCode : Sélectionner tout - Visualiser dans une fenêtre à part
Répondre avec citation 0 0 - 14/12/2011, 16h07 #19 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
Cooool, t'es génial. C'est enfin monté à mon cerveau! J'ai tout corrigé : Ca devrait maintenant ne plus causer de problèmes. Merci beucoup. A bientôt pour de nouvelles aventures.
Répondre avec citation 0 0 - 15/12/2011, 00h22 #20 kbj_ihma
Membre averti 






Inscrit enSeptembre 2011Messages36
Détails du profil
Informations personnelles :Sexe :
Localisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36
bonsoir ZebreLoup, Déjà de retour ... En fait, j'ai repéré un bug; Quand je selectionne plusieurs cellules, en même temps, de la colonne où se trouve ma liste de documents, j'ai un bug. je pense que c'est du au fait qu'il n'y a pas ce cas : de selection multiple. Donc j'ai rajouté dans la feuille 1 juste après :
If Not Intersect(Target, Me.Range("B2:B20")) Is Nothing Then J'ai rajouté çà :Code : Sélectionner tout - Visualiser dans une fenêtre à part Code : Sélectionner tout - Visualiser dans une fenêtre à part
Ca semble marcher. Bonne soirée123 If Target.Count > 1 Then Exit Sub End If
Répondre avec citation 0 0
| Actualités | FAQs OFFICE | TUTORIELS OFFICE | LIVRES OFFICE | SOURCES VBA | OFFICE 2010 |

- Forum
- Logiciels
- Microsoft Office
- Excel
- Macros et VBA Excel
- bouton pour ouvrir lien hypertext
Discussions similaires
- [XL-2010] probléme pour ouvrir lien hypertext depuis commandbutton Par omer76 dans le forum Macros et VBA Excel Réponses: 4 Dernier message: 11/05/2012, 10h42
- [MySQL] comment faire un lien avec un bouton pour ouvrir une page en php Par Debutant10 dans le forum PHP & Base de données Réponses: 8 Dernier message: 10/04/2012, 22h11
- bouton pour ouvrir un lien Par Scratchy15 dans le forum ActionScript 3 Réponses: 5 Dernier message: 04/02/2010, 15h44
- ouvrir lien hypertexte par bouton de commande Par tomas dans le forum IHM Réponses: 4 Dernier message: 18/06/2007, 09h58
- [Access 2003]Créer un bouton pour ouvrir un formulaire Par steeves5 dans le forum Access Réponses: 2 Dernier message: 27/04/2006, 22h41
Partager
Partager
Tag » Code Vba Pour Ouvrir Un Lien Hypertexte
-
VBA Excel - Comment Lancer Un Lien Hypertexte Contenu Dans Une ...
-
Ouvrir Le Lien Hypertexte Dans Le VBA - Excel - AskCodez
-
Ouvrir Un Lien HyperTexte Depuis Un Userform - Forum Excel-Pratique
-
XL 2019 - Ouverture Lien Hypertexte Par Macro | Excel-Downloads
-
VBA Ouvrir Des Documents Avec L'hyperlien - YouTube
-
Les Liens Hypertextes - FAQ Excel
-
Méthode Hyperlink.Follow (Access) | Microsoft Docs
-
VBA Ouvrir Hyperlien Tout En Maintenant Active La Fenêtre Excel
-
VBA - Hyperliens - Automate Excel
-
Comment Ouvrir Plusieurs Liens à La Fois à Partir D'Excel (simple)
-
Comment Suivre Le Lien Hypertexte Vers La Feuille Masquée Dans ...
-
Liens Hypertexte Dans Excel (un Guide Complet + Exemples)
-
"RESOLU" Macro Ou Lien Hypertexte Pour Ouvrir Un Fichier .xls
-
Comment Ouvrir Plusieurs Liens à Partir D'Excel à La Fois - FR Atsit