IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Comment récupérer un lien hypertexte dans un autre fichier ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Par défaut Comment récupérer un lien hypertexte dans un autre fichier ?
    Bonjour,

    Mon besoin : récupérer un lien hypertexte (très long : 560 caractères !! --> https://...) situé dans le fichier "Input_Mask.xlsm" (onglet "ADD_INFOS", cellule K24) et le coller dans le fichier "FOLLOW-UP.xlsm" (onglet "Feuil1", cellule Y6).


    Ce que j'ai fait : Dans la procedure située dans le fichier "FOLLOW_UP..." j'ouvre le fichier "input_mask", je vais dans l'onglet "ADD_INFOS" et je mets la valeur de la cellule K24 dans la variable "Hyperlink" (variable déclarée comme String : Dim Hyperlink as String). Pour cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Hyperlink = Range("K24").Value
    Ensuite :

    Je reviens dans le fichier "FOLLOW-UP", je me positionne dans l'onglet "Feuil1" et je mets en cellule Y6 la valeur de Hyperlink. Pour cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("Y6").Value = Hyperlink
    Cela fonctionne sauf que le résultat n'est pas un lien hypertexte mais seulement le texte. Que dois-je faire pour récupérer le lien hypertexte en cellule Y6 ?

    Merci par avance.


    Cdlt.
    Jérôme.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Avec l'enregistreur de macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Hyperlinks.Add Anchor:=Range("Y6"), Address:=Hyperlink, TextToDisplay:="Texte_à_afficher"

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Par défaut
    Citation Envoyé par mercatog Voir le message
    Avec l'enregistreur de macro

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Hyperlinks.Add Anchor:=Range("Y6"), Address:=Hyperlink, TextToDisplay:="Texte_à_afficher"
    J'ai testé et ça fonctionne !! Merci beaucoup...


    En fait je veux avoir à la place de "Texte à afficher" la valeur de la cellule B6, je modifie donc la formule de la façon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Hyperlinks.Add Anchor:=Range("Y6"), Address:=Hyperlink, TextToDisplay:=Range("B6").value
    De plus, ce que je voudrais c'est que la cellule où se trouve le lien hypertexte soit vide si Hyperlink est vide. Le pb c'est que si je mets un test juste avant la ligne de commande que vous me proposez, la valeur de la cellule B6 va être effacée et remplacée par un vide, ce que je ne veux pas ... Comment m'y prendre ?

    Je voyais quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if Hyperlink = "" then
    Range("B6") = ""
    Else
    Endif
    Cdlt.
    Jérôme.

  4. #4
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Essaies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Sub RecupereLien()
    Dim hy0 As Hyperlink
    Dim hy1 As Hyperlink
      Set hy0 = Workbooks("Input_Mask.xlsm").Worksheets("ADD_INFOS").Range("K24").Hyperlinks(1)
      With Workbooks("FOLLOW-UP.xlsm").Worksheets("Feuil1")
        Set hy1 = .Hyperlinks.Add(Anchor:=.Range("Y6"), Address:=hy0.Address)
        hy1.SubAddress = hy0.SubAddress
        hy1.ScreenTip = hy0.ScreenTip
        hy1.TextToDisplay = hy0.TextToDisplay
      End With
    End Sub

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Par défaut
    Citation Envoyé par Patrice740 Voir le message
    Bonjour,

    Essaies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Sub RecupereLien()
    Dim hy0 As Hyperlink
    Dim hy1 As Hyperlink
      Set hy0 = Workbooks("Input_Mask.xlsm").Worksheets("ADD_INFOS").Range("K24").Hyperlinks(1)
      With Workbooks("FOLLOW-UP.xlsm").Worksheets("Feuil1")
        Set hy1 = .Hyperlinks.Add(Anchor:=.Range("Y6"), Address:=hy0.Address)
        hy1.SubAddress = hy0.SubAddress
        hy1.ScreenTip = hy0.ScreenTip
        hy1.TextToDisplay = hy0.TextToDisplay
      End With
    End Sub
    Merci Patrice740.....

    Cdlt.
    Jérôme

Discussions similaires

  1. [Débutant] comment créer des liens hypertexte dans une webpart
    Par zanoubya dans le forum SharePoint
    Réponses: 3
    Dernier message: 26/08/2013, 10h16
  2. Comment créer des liens hypertextes dans Word ?
    Par Forza Matlab dans le forum MATLAB
    Réponses: 7
    Dernier message: 15/01/2013, 18h58
  3. Comment modifier un lien hypertexte dans Word
    Par QuickSave dans le forum Delphi
    Réponses: 3
    Dernier message: 05/01/2007, 13h11
  4. Comment accéder à un lien hypertexte dans un autre frame ?
    Par pdtor dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/01/2006, 15h56
  5. Réponses: 3
    Dernier message: 26/10/2004, 07h31

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