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

Excel Discussion :

Comment copier les liens hypertexte d'une table des matières word dans un fichier exel en gardant les liens


Sujet :

Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2018
    Messages : 13
    Par défaut Comment copier les liens hypertexte d'une table des matières word dans un fichier exel en gardant les liens
    bonjour,

    en fait j'ai un fichier word du quel j'aimerai extraire les différents liens hypertexte de la table des matières pour les insérer dans excel sous la forme de ligne en gardant les liens hyper texte actif qui me renvoient au différents point de la table des matière

    quand je vais dans la table des matières et que je sélectionne une ligne que je fais copier
    puis dans excel collage spécial lien hypertexte cela fonctionne
    mais j'aimerai automatiser la commande car j ai bc d'éléments a copier coller

    Pièce jointe 415951
    Pièce jointe 415953

    si quelqu'un avait une solution ca me serait d'une grande aide, d'avance merci

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2018
    Messages : 13
    Par défaut
    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
    Sub Import_doc()
     
    Dim Wrd As Object
     
     
    On Error Resume Next
    NomFich = Application.GetOpenFilename("CCTSWL2009_T1, *.doc")
    If Err <> 0 Or NomFich = False Then
    End
    End If
     
    Feuil3.Range("A1") = NomFich
     
    Set Wrd = CreateObject("word.Application")
    Wrd.documents.Open (NomFich)
    Wrd.Selection.WholeStory
    Wrd.Selection.Copy
     
    ThisWorkbook.Activate
    Feuil3.Activate
    Feuil3.Range("A2").Select
    ActiveSheet.PasteSpecial Format:="Lien hypertexte", Link:=False, _
            DisplayAsIcon:=False
        Range("A1").Select
     
    ' Ferme Word en appliquant la méthode Quit sur l'objet Application.
    Wrd.Application.Quit
    Set Wrd = Nothing
    End Sub
    j'ai un début de code qui copie la sélection mais j arrive pas a choisir la zone de sélection de la table des matières...

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

    Il te faut aller dans la collection TablesOfContents de ton document. Ci-dessous, un exemple à adapter. Cette routine supprime la table des matières (j'ai neutralisé la suppression). Il te suffit de modifier l'ordre de la boucle et d'envoyer le Range sur ta cellule.

    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
     
    Sub SupprimerLaTableDesMatieres()
     
    Dim I As Integer, ParagrapheEnCours As Integer
     
        With ActiveDocument
     
             If .TablesOfContents.Count = 0 Then
                MsgBox "Aucune table des matières dans le document !", vbInformation
                Exit Sub
             End If
     
             For I = .TablesOfContents.Count To 1 Step -1
                 With .TablesOfContents(I)
     
                      .Range.Select
                      Selection.HomeKey unit:=wdStory, Extend:=wdExtend
                      ParagrapheEnCours = Selection.Paragraphs.Count
                      'MsgBox ParagrapheEnCours
     
                    '  .Delete
                    '  ActiveDocument.Paragraphs(ParagrapheEnCours).Range.Delete
     
                 End With
             Next I
        End With
     
     
    End Sub

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2018
    Messages : 13
    Par défaut
    merci je vais tester ca et voir comment adapter

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Doy16 Voir le message
    merci je vais tester ca et voir comment adapter
    Attention, dans ce sens Excel prenant la main sur Word, il te faut instancier une variable Word.Selection pour sélectionner ton texte dans Word, sinon cela ne marche pas. Il y a des exemples récents sur le forum Word.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2018
    Messages : 13
    Par défaut
    je n'ai toujours pas trouvé de solution
    pour que depuis excel : je puisse rentrer dans la table des matières et sélectionnes ligne par ligne et copier le lien hypertexte et le coller dans excel ligne apres ligne

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2018
    Messages : 13
    Par défaut Comment copier ligne apres ligne un doc word vers fichier excel
    bonjour,

    j'ai un document word d'on j'aimerai copier les éléments contenu dans celui-ci
    en copiant la ligne 1 et en la collant dans la cellule A1 sous excel
    en copiant la ligne 2 et en la collant dans la cellule A2

    et ainsi de suite

    si qu'un a une idée de formule d'avance merci

  8. #8
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Doy16 Voir le message
    Quel est ton code actuellement ?

  9. #9
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    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 475
    Par défaut
    Bonjour,

    Le problème vient du fait que lorsqu'on copie un texte Word dans un fichier Excel on obtient un paragraphe par cellule (et non pas une ligne).
    La solution la plus simple est d'enregistrer le fichier word au format pdf, puis de copier le texte du pdf et de le coller dans Excel.

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2018
    Messages : 13
    Par défaut
    Citation Envoyé par Eric KERGRESSE Voir le message
    Quel est ton code actuellement ?
    toujours le meme car je n'ai pas réussi a faire que excel m'ouvre word et se place au niveau de la table des matières j ai chercher plusieurs pistes mais sans succès

    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
    Sub Import_doc()
     
    Dim Wrd As Object
     
    'Récupère le nom et chemin du fichier à ouvrir
    On Error Resume Next
    NomFich = Application.GetOpenFilename("CCTSWL2009_T1, *.doc")
    If Err <> 0 Or NomFich = False Then
    End
    End If
     
    'Feuil1.Range("A1") = NomFich
     
    Set Wrd = CreateObject("word.Application")
    Wrd.documents.Open (NomFich)
    Wrd.Selection.WholeStory
    Wrd.Selection.Copy
     
    ThisWorkbook.Activate
    Feuil1.Activate
    Feuil1.Range("A2").Select
    ActiveSheet.PasteSpecial Format:="Lien hypertexte", Link:=False, _
            DisplayAsIcon:=False
        Range("A1").Select
     
    ' Ferme Word en appliquant la méthode Quit sur l'objet Application.
    Wrd.Application.Quit
    Set Wrd = Nothing
    End Sub
    ca je suis arrivé a le faire mais j'aimerai implémenter de dans le fait qu'il se place au niveau de la table des matières dans mon document word et qu'il la copie ligne apres ligne dans mon doc excel
    si cela est possible bien sur
    car la il sélectionne tout mon document word
    car mon but est de récupérer tous les liens hypertexte dans un fichier excel pour que cela me renvoie directement au bon endroit dans ma table des matières quand je clique sur le lien hypertexte dans excel
    voici un exemple de fichier dont j'aimerai pouvoir récupérer les liens hypertexte de la table des matières
    CCTSWL2009_T1.doc

  11. #11
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    J'ai personnellement des difficultés à comprendre l'intérêt (et dans quelles circonstances ?) de transférer des lignes de texte depuis un traitement de texte vers un tableur.
    Je compte donc sur toi pour me l'exposer et satisfaire ainsi ma curiosité.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Doy16 Voir le message
    Il te faut créer deux variables object, une pour instancier le Document et une pour instancier Le TablesofContents(1).Range du document.
    Ensuite il faut faire une boucle sur la collection .Hyperlinks de ta variable range.

    Il te faut récupérer dans la boucle X, .Hyperlinks(X).Range.Text (le libellé d'une ligne dans la TM) et .Hyperlinks(X).Name (la référence de ton lien hypertexte dans le document.

    Enfin, une fois récupérées dans Excel ces deux informations, il te faut reconstituer tes liens en prenant le chemin complet du fichier .doc et la référence du lien comme ceci:
    Ici ShLiens est la variable Worksheet et ShLiens.Cells(I, 2) est la cellule contenant la référence du lien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
             For I = 2 To DerniereLigne
                 With .Cells(I, 3)
                       .Hyperlinks.Delete
                       ShLiens.Hyperlinks.Add Anchor:=ShLiens.Cells(I, 3), Address:=CheminComplet & "#" & ShLiens.Cells(I, 2), TextToDisplay:="Lien " & I - 1
                 End With
             Next I

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par unparia Voir le message
    Bonjour Jacques,

    Si ton entreprise de BTP devait remettre un prix dans le cadre d'un appel d'offre et que le cahier des clauses techniques fasse 164 pages et qu'il faut que tu répondes jusqu'à 138 rubriques, cela devient intéressant de récupérer la table des matières du CCT et de créer les liens vers chaque rubrique du document.
    Pièce jointe 416257

    Cette discussion fait doublon avec celle-ci : copier-liens-hypertexte-d-table-matieres-word-fichier-exel-gardant-liens

  14. #14
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2018
    Messages : 13
    Par défaut
    Merci je vais essayer de comprendre ça et de le faire
    je tiendrai au courant en fonction de mon avancement, car j avoue qu'il y a une semaine de ca j'avais encore jamais touché au VBA
    mais merci pour les pistes apportées et ton aide bonne journée

  15. #15
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Septembre 2018
    Messages : 13
    Par défaut
    Oui c'est vrai que la conversation fait un peu doublon mais je cherchai une autre façon de parvenir à mes fins ^^
    mais c'est exactement cela que je souhaite faire
    avoir les numéros et titre de mon cahier des charges
    ensuite le numéro de la table des matières
    et avoir le lien qui m'y renvoie

  16. #16
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Doy16 Voir le message
    Le VBA Word est (de mon point de vue) plus difficile que celui d'Excel, car l'enregistreur de macro n'a pas le même comportement. En allant dans le forum VBA Word, tu trouveras de nombreux exemples récents qui te permettront de comprendre comment sélectionner un texte ou faire une boucle sur une collection.

Discussions similaires

  1. Etat: comment créer une table des matières
    Par JenTry dans le forum IHM
    Réponses: 3
    Dernier message: 17/01/2019, 14h36
  2. Compter les entrérs d'une table des matières
    Par Hbilly35 dans le forum Word
    Réponses: 5
    Dernier message: 13/11/2013, 20h11
  3. [Toutes versions] Comment garder des liens hypertextes en créant une table des matières?
    Par Abacaxi dans le forum Word
    Réponses: 2
    Dernier message: 21/04/2012, 11h14
  4. [PPT-2007] Une table des matières sur toutes les diapositives
    Par capita789 dans le forum Powerpoint
    Réponses: 2
    Dernier message: 20/11/2011, 09h15
  5. Réponses: 13
    Dernier message: 15/11/2007, 19h48

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