Bouton Pour Ouvrir Lien Hypertext

Navigation

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
  • Accueil
  • Forum
  • Logiciels
  • Microsoft Office
  • Excel
  • Macros et VBA Excel
  • bouton pour ouvrir lien hypertext
+ Répondre à la discussion Macros et VBA Excel Discussion : bouton pour ouvrir lien hypertext Sujet :

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
  1. 06/12/2011, 23h40 #1 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut 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
    12345678910111213141516171819202122232425262728'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
    Malheureusement, ca ne marche pas tout à fait, quand le lien ne fonctionne pas surtout. Pouvez vous m'aider s'il vous plait; Merci d'avance
    Répondre avec citation Répondre avec citation 0 0
  2. 07/12/2011, 11h53 #2 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    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 Répondre avec citation 0 0
  3. 07/12/2011, 22h54 #3 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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 Répondre avec citation 0 0
  4. 08/12/2011, 11h45 #4 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    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
    12345678910111213141516171819Option 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
    Dans le code du userForm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123456789101112131415161718192021Option 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
    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.
    Répondre avec citation Répondre avec citation 1 0
  5. 10/12/2011, 14h03 #5 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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 Fichiers attachés
    • Type de fichier : xls BIBLOTHEQUE DES DOCUMENTS TYPES.xls (47,0 Ko, 263 affichages)
    Répondre avec citation Répondre avec citation 0 1
  6. 12/12/2011, 12h20 #6 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    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 Fichiers attachés
    • Type de fichier : xls BIBLOTHEQUE DES DOCUMENTS TYPES.xls (53,0 Ko, 482 affichages)
    Répondre avec citation Répondre avec citation 0 1
  7. 12/12/2011, 22h21 #7 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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 Répondre avec citation 0 0
  8. 13/12/2011, 10h30 #8 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    Pour le problème du message d'alerte, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?
    Répondre avec citation Répondre avec citation 0 0
  9. 13/12/2011, 11h28 #9 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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 Répondre avec citation 0 0
  10. 13/12/2011, 11h32 #10 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    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 Répondre avec citation 0 0
  11. 13/12/2011, 11h45 #11 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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 Répondre avec citation 0 0
  12. 13/12/2011, 11h54 #12 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    Juste écrire C:\chemin\chemin\fichier.pdf dans la cellule
    Répondre avec citation Répondre avec citation 0 0
  13. 13/12/2011, 14h45 #13 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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 Répondre avec citation 0 0
  14. 13/12/2011, 15h23 #14 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    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 Répondre avec citation 0 0
  15. 14/12/2011, 13h50 #15 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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
    12Application.DisplayAlerts = False Workbooks.Open Filename:=ActiveCell.Value
    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'avance
    Répondre avec citation Répondre avec citation 0 0
  16. 14/12/2011, 14h35 #16 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.FollowHyperlink cible Workbooks.Open ne marchera que pour des fichiers Excel.
    Répondre avec citation Répondre avec citation 0 0
  17. 14/12/2011, 15h24 #17 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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.
    Répondre avec citation Répondre avec citation 0 0
  18. 14/12/2011, 15h39 #18 ZebreLoup ZebreLoup est déconnecté Membre Expert Avatar de ZebreLoup Homme Profil pro Ingénieur FinancierInscrit enMars 2010Messages994Détails du profilInformations personnelles :Sexe : HommeÂge : 47Localisation : France, Val de Marne (Île de France)Informations professionnelles :Activité : Ingénieur FinancierSecteur : FinanceInformations forums :Inscription : Mars 2010Messages : 994 Par défaut
    Exactement, et comme tu t'en doutes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    forming.cible = Target.Offset(0, 1).Hyperlinks(1).Address devient tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    forming.cible = Target.Offset(0, 1).Value Et bien sûr toujours dans le Worksheet_SelectionChange
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Target.Offset(0, 1).Hyperlinks.Count = 0 Then Devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Target.Offset(0, 1).Value = "" Then
    Répondre avec citation Répondre avec citation 0 0
  19. 14/12/2011, 16h07 #19 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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 Répondre avec citation 0 0
  20. 15/12/2011, 00h22 #20 kbj_ihma kbj_ihma est déconnecté Membre averti Femme Profil pro Inscrit enSeptembre 2011Messages36Détails du profilInformations personnelles :Sexe : FemmeLocalisation : FranceInformations forums :Inscription : Septembre 2011Messages : 36 Par défaut
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Intersect(Target, Me.Range("B2:B20")) Is Nothing Then J'ai rajouté çà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123If Target.Count > 1 Then Exit Sub End If
    Ca semble marcher. Bonne soirée
    Répondre avec citation Répondre avec citation 0 0
+ Répondre à la discussion Cette discussion est résolue.
ActualitésFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBAOFFICE 2010
  • Accueil
  • Forum
  • Logiciels
  • Microsoft Office
  • Excel
  • Macros et VBA Excel
  • bouton pour ouvrir lien hypertext
« Discussion précédente | Discussion suivante »

Discussions similaires

  1. [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
  2. [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
  3. bouton pour ouvrir un lien Par Scratchy15 dans le forum ActionScript 3 Réponses: 5 Dernier message: 04/02/2010, 15h44
  4. ouvrir lien hypertexte par bouton de commande Par tomas dans le forum IHM Réponses: 4 Dernier message: 18/06/2007, 09h58
  5. [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
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo

Tag » Code Vba Pour Ouvrir Un Lien Hypertexte