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 :

lien hypertexte et macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 2
    Par défaut lien hypertexte et macro
    Bonjour à tous,

    j'ai une question assez simple:

    comment lancer depuis un macro excel un lien hypertexte dynamique contenu dans une cellule ?

    La commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.Hyperlinks(1).Follow NewWindow:=True, AddHistory:=True
    ne marche pas avec un lien dynamique

    Cette formule marche bien lorque le lien contenu dans la cellule est en "dur"...

    En vous remerciant par avance

    Cordialement,

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    Je pense que 'est pas aussi simple que ça. J'ai fais des tests en partant des formules et en essayant d'en extraire le lien que ce soit pour une adresse mail, http ou pour un classeur, c'est cette dernière qui me semble la plus compliqué selon le cas de figure car dans le cas d'une formule comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =LIEN_HYPERTEXTE(CELLULE("adresse"; Feuil2!A2);"Vers la feuille Feuil2")
    il est assez difficile de savoir ce que retourne ADRESSE ! (En Anglais : "=CELL(""adresse"", Feuil2!A1)") que je n'ai pas su exécuter !
    Le code ci-dessous fonctionne si la formule est du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =LIEN_HYPERTEXTE(Feuil2!$A$1;"Feuille Feuil2")
    Le lien étant à l'intérieur du classeur. Enfin, c'est peut être un début de piste selon ce que tu souhaite faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    Sub Test()
     
        Dim IE As Object
     
        Dim OL As Object
        Dim OLMessage As Object
     
        Dim Fe As Worksheet
        Dim Debut As Integer
        Dim Fin As Integer
        Dim Longueur As Integer
        Dim Lien As String
     
        Set Fe = ActiveSheet
     
        With Fe.Range("A1")
     
            'navigateur (IE)
            If InStr(.Formula, "http:/") <> 0 Then
     
                Debut = InStr(.Formula, "http:/")
                Fin = InStr(.Formula, ",")
                Longueur = Len(.Formula) - (Debut + (Len(.Formula) - Fin) + 1)
                Lien = Mid(.Formula, Debut, Longueur)
     
                Set IE = CreateObject("internetexplorer.application")
                IE.Visible = True
                IE.Navigate Lien
     
            'messagerie (Outlook)
            ElseIf InStr(.Formula, "mailto:") <> 0 Then
     
                Debut = InStr(.Formula, ":") + 1
                Fin = InStr(Debut, .Formula, ",")
                Longueur = Len(.Formula) - (Debut + (Len(.Formula) - Fin) + 1)
                Lien = Mid(.Formula, Debut, Longueur)
     
                Set OL = CreateObject("Outlook.Application")
                Set OLMessage = OL.CreateItem(0)
                OLMessage.Display
                OLMessage.to = Lien
     
            'lien vers une feuille du classeur si la formule est simple :
            '=LIEN_HYPERTEXTE(Feuil2!$A$1;"Feuille Feuil2")
            ElseIf InStr(.Formula, "!") <> 0 Then
     
                Debut = InStr(.Formula, "(") + 1
                Fin = InStr(Debut, .Formula, ",") + 1
                Longueur = InStrRev(.Formula, ",", Debut)
                Longueur = Len(.Formula) - (Debut + (Len(.Formula) - Fin) + 1)
                Lien = Mid(.Formula, Debut, Longueur)
     
                Application.Goto Application.ConvertFormula("=" & Lien, xlA1, xlR1C1)
     
            End If
     
        End With
     
    End Sub
    Hervé.

Discussions similaires

  1. associer des liens hypertexte par macro
    Par bobafric dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/06/2013, 10h01
  2. [XL-2003] lien hypertexte et macro
    Par VlaMonPseudo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/10/2010, 23h02
  3. Lien hypertexte dans Macro
    Par arrno dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/04/2010, 23h59
  4. Creation de liens hypertextes dans macro
    Par sarphiama31 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/09/2008, 09h20
  5. Lien Hypertexte /macro entre Word et excel
    Par massimo30 dans le forum Microsoft Office
    Réponses: 1
    Dernier message: 11/06/2008, 21h10

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