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 hypertext vba vers une feuille du classeur ne fonctionne pas. [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut Lien hypertext vba vers une feuille du classeur ne fonctionne pas.
    Bonjour,

    J'ai créé dans une feuille de récapitualtif des feuilles d'un classeur
    La première colonne contient le lien hypertexte avec chaque feuille.

    J'ai créé un macro qui est sensée lire les feuilles les unes après les autres pour mettre à jour ma feuille principale
    cependant mon lien hypertexte ne fonctionne pas et je ne comprends pas pourquoi ?

    le debug.print activecell.adress me renvoie $B$2 (logique!)
    comment voir le contenu du lien ?
    le debug.print ActiveCell.Hyperlinks(1) plante (erreur 438) ?


    Denis

    Le code
    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
    Sub maj_liste_mandat()
        Appel = "liste"
        Sheets("Liste des projets").Range("B2").Select
        CurLig = ActiveCell.Row
        While Not IsEmpty(ActiveCell)
            ' je boucle sur la liste des projets en colonne B
            Mandat = ActiveCell.Value
            ' j'appelle la feuille   ----> ca ne marche pas !!!!!!!!!!!!!!!
            Debug.Print ' quoi mettre pour voir le lien ?
            Selection.Hyperlinks(1).Follow NewWindow:=False
            Application.Run "'" & ActiveWorkbook.Name & "'!Modif_mandat"
            CurLig = CurLig + 1
            Cells(CurLig, 2).Select
        Wend
        MsgBox "Liste Terminée"
        Appel = ""
    End Sub

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Bonjour Denis_67,

    Je ne comprends pas bien ton histoire de "lien hypertexte avec chaque feuille"...
    Si tu as une feuille récapitulative des autres, au sein d'un même classeur, peut-être devrais-tu te pencher sur quelque chose de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Denis_67()
    Dim oWksh As Worksheet
     
    For Each oWksh In Worksheets
        If oWksh.Name <> "Feuille principale" Then
            With oWksh
                'je fais ce que je veux dans chacune des feuilles.
            End With
        End If
    Next oWksh
     
    End Sub
    N'hésite pas à donner peut-être plus de précisions.
    Cordialement,
    Kimy

  3. #3
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    Merci Kim_ire,

    Parfois à vouloir donner trop d'explications on est plus confus !

    En fait ma question est :
    pourquoi la séquence d'activation du lien hypertext ne fonctionne pas.

    Je lis une cellule contenant un lien et je veux activer la feuille appelée par ce lien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Sheets("Liste des projets").Range("B2").Select
    Selection.Hyperlinks(1).Follow NewWindow:=False
    mais en debug, il ne va pas activer la feuille

    merci
    Denis

  4. #4
    Membre Expert
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Par défaut
    Regarde peut-être avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Denis_67_2()
    Dim Rng As Range
     
    With Worksheets("Source1")
        Set Rng = .Range("B2")
        ActiveWorkbook.FollowHyperlink Address:=Rng.Value
    End With
     
    End Sub
    N'étant pas un expert en Hyperlinks, je ne pense pas t'aider d'avantage...

    Cordialement,
    Kimy

  5. #5
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    Merci pour Kimy pour les tentatives, mais ça ne marche pas ta fonction me renvoie le texte de la cellule mais le lien contenu dans la cellule.

    En fait la séquence ne fonctionne pas car le lien hypertext renvoie à une autre feuille du classeur et pas vers un lien externe.
    J'ai fait un test en mettant un lien vers un fichier externe et là ça marche, j'arrive à activer le lien par la séquence.

    Avec cette fonction, il ne semble pas possible d'activer une autre feuille du classeur par lien hypertext.

    Il ne me reste plus qu'à mettre le nom des feuilles dans ma liste et de les appeler classiquement.

    A tout hasard je mets un fichier d'exemple. Si je clique le bouton la feuille 2 n'est pas sélectionnée comme lorsque je clique sur le lien hypertexte.
    Classeur1.xlsm

    Merci Denis

  6. #6
    Membre éclairé
    Inscrit en
    Août 2009
    Messages
    817
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 817
    Par défaut
    Faux espoir,

    Je me suis souvenu que Excel n'aimait pas les espaces dans les noms de feuilles, j'ai donc renomé mes feuilles en mettant des "_"
    à la place des espaces, mais ça e marche toujours pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer un lien hypertexte vers une feuille nouvellement créée
    Par BOU59000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 14/09/2023, 12h54
  2. [PPT-2007] Lien hypertexte Powerpoint vers une cellule Excel
    Par Deciprog dans le forum Powerpoint
    Réponses: 2
    Dernier message: 15/02/2012, 22h04
  3. [XL-2007] Créer un lien hypertexte après voir enregistrer vers une feuille dans un classeur
    Par maxval18 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 06/02/2012, 13h30
  4. comment transferer une tableau VBA vers une feuille de calcul
    Par Bonero dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2010, 17h30
  5. envoyer le contenu de variables vba vers une feuille excel
    Par Sebastien_INR59 dans le forum Access
    Réponses: 1
    Dernier message: 21/06/2006, 19h58

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