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

VBA Word Discussion :

Créer un lien hypertexte dans un signet Word


Sujet :

VBA Word

  1. #1
    Membre à l'essai
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Septembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2014
    Messages : 32
    Points : 18
    Points
    18
    Par défaut Créer un lien hypertexte dans un signet Word
    Bonjour,

    J'utilise un fichier Excel pour générer des rapports, en utilisant un template Word contenant moults signets.
    J'utilise également ce fichier pour générer des annexes sous format Excel, chacune contenu plusieurs onglets.

    L'ensemble des documents (rapports et annexes) est référencé en fonction du numéro du service auquel il est destiné :
    - SERVICE 002 - Rapport
    - SERVICE 002 - Annexe 1
    - SERVICE 002 - Annexe 2

    Mon client me demande, à chaque fois que le rapport fait mention à un renvoi vers une annexe, d'y ajouter le lien relatif vers l'onglet correspondant. L'idée étant que le client, lorsqu'il reçoit tous les documents, les place dans le même répertoire et puisse ainsi arriver, depuis le rapport, vers l'annexe considérée.

    Pour l'instant :

    1-je sais insérer du texte à l'endroit d'un signet Word :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docWord.Bookmarks("Annexe_M1_1").Range.Text = ThisWorkbook.Sheets("TDB").Range("H4").Value
    2-je sais créer des liens hypertexte dans une cellule Excel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Libellé = Sheets("CHRONO").Cells(i, 12).Text
    Chemin = Application.VLookup(Sheets("CHRONO").Cells(i, 12), Sheets("Liens").Range("B1:C" & NbRef), 2, False)
    Sheets("CHRONO").Cells(i, 12).Hyperlinks.Add Anchor:=Cells(i, 12), Address:=Chemin, TextToDisplay:=Libellé
    3-je sais qu'on peut renvoyer vers un onglet en ajoutant, après le nom du fichier Excel, le suffixe "#[Nom de l'onglet]"

    Mais j'avoue que je n'arrive pas à voir comment combiner les trois ensemble, malgré mes recherches sur le net.

    Est-ce faisable ? L'un d'entre vous pourrait-il m'apporter une aide précieuse.

    D'avance, merci.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Septembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2014
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Bonjour,
    Je vois que le message a été déplacé, mais je me permets de préciser que j'utilise bien VBA Excel pour générer le fichier Word.
    Personne n'a d'information sur mon problème d'export d'url vers un signet ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par YanLeFlan Voir le message
    Bonjour,

    Votre explication manque de clarté. Ce que je comprends : Vous avez des fichiers Word de types Rapport ou Annexes dont les signets pointent vers des cellules de fichiers Excel.

    Pour connaître la syntaxe d'un lien, partez d'un fichier Word et pointez sur un fichier Excel. Une fois fait, modifiez la partie SubAdress pour indiquer l'onglet et la cellule comme dans cet exemple :

    Dans votre cas, Selection dans Selection.Range correspondrait à votre signet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:= _
            "../../../VBA Excel/Développez-Com/Caractères/Recherche de caractères jeux 1-127 et 128-256/Recherche de caractères.xlsm" _
            , SubAddress:="Feuil2!D7", ScreenTip:="", TextToDisplay:= _
            "..\..\..\VBA Excel\Développez-Com\Caractères\Recherche de caractères jeux 1-127 et 128-256\Recherche de caractères.xlsm"
    Cela veut dire également qu'il vous faudra sans doute reconstituer les liens si les répertoires changent, à moins que vous puissiez indiquer qu'il faut pointer depuis le répertoire de vos documents, mais là je n'ai pas testé la syntaxe.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Conseil en assistance à maîtrise d'ouvrage
    Inscrit en
    Septembre 2014
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil en assistance à maîtrise d'ouvrage
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2014
    Messages : 32
    Points : 18
    Points
    18
    Par défaut
    Bonsoir. En fait, je pense que mon propos a été mal interprété par le modérateur qui a déplacé mon message dans VBA Word (il était à la base dans VBA Excel).
    J'utilise un fichier Excel pour générer, via une macro VBA Excel et des tableaux de données, des graphiques etc., des rapports (basés sur un modèle de document Word) et des annexes (fichiers Excel).
    Dans mon modèle Word, j'utilise des signets pour que la macro y copie les données qui vont bien (moyenne, graphique, etc.). Ces données sont des synthèses et donc, sur chaque thème, le rapport renvoie à des annexes, aux données exhaustives.
    Mon client me demande à ce que ces renvois d'annexes soient cliquables et, lorsque cela est fait, amène vers le fichier Excel et l'onglet concernés. Cependant, le rapport concerne 90 services différents et donc, chaque fichier commence par le numéro du service, tel qu'expliqué dans mon message d'origine, ce qui fait que je ne peux pas créer mes hypertextes en "dur" dans mon template. Il me faut donc configurer ces liens hypertexte via la macro, si cela est possible.
    J'espère que cela est plus clair pour tout le monde.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par YanLeFlan Voir le message
    Je me ferais une table de paramètres dans le fichier Excel pour créer les liens dans les différents documents comme indiqué dans mon précédent message, il faudrait ajouter en plus le nom du signet et dissocier les noms de répertoires, des noms des fichiers.
    Je pense qu'il faudra que votre fichier Excel puisse également regénérer les liens chez vos différents interlocuteurs en pointant sur le répertoire "maître". Cette partie du programme pourrait être réalisée via une macro complémentaire que vous pourriez diffuser à vos différents interlocuteurs.

Discussions similaires

  1. [OL-2016] Lien hypertexte vers un signet dans un document word
    Par marik9206 dans le forum Outlook
    Réponses: 3
    Dernier message: 21/11/2018, 18h02
  2. Réponses: 0
    Dernier message: 28/03/2015, 14h53
  3. [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, 11h16
  4. Comment créer des liens hypertextes dans Word ?
    Par Forza Matlab dans le forum MATLAB
    Réponses: 7
    Dernier message: 15/01/2013, 19h58
  5. Lien hypertexte dans un tableau Word
    Par EFFLYINGJOKER dans le forum Word
    Réponses: 1
    Dernier message: 18/09/2008, 02h02

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