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 :

Signet et table des matières [WD-2013]


Sujet :

VBA Word

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 65
    Points : 61
    Points
    61
    Par défaut Signet et table des matières
    Bonjour à tous,

    Je me casse la tête sur un problème qui pourtant me semble simple. Le voici :

    - J'ai un document dans lequel se trouve une table des matières en première page (mais qui peut déborder sur la deuxième)
    - Mon document se compose ensuite de textes et tableaux (tableaux avec le même nombre de colonne)
    - Je souhaite insérer à la suite de ma table des matières (après saut de page) un tableau récapitulant l'ensemble des tableaux du document

    Je vous voudrais donc accéder au bas de ma table des matières pour insérer un saut de page puis le tableau récapitulatif. Je pensais qu'on pouvait sélectionner la table des matières comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.TablesOfContents(1).range.select
    Mais cela ne fonctionne pas : la méthode est incorrecte.

    Je me suis que j'allais ajouter un signet à la table des matières puis aller à la fin du signet mais cela ne fonctionne pas non plus. Je n'arrive pas à ajouter un signet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveDocument.Bookmarks.Add "ToC", ActiveDocument.TablesOfContents(1)
    J'ai plus d'idée. Ca m'a pas l'air sorcier mais peut-être que je m'y prends mal. Toutes les idées sont les bienvenues !

    Merci par avance,

    Pubbins.

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    La Table des matières d'un document Word n'est pas autre chose qu'un champ avec des propriétés et méthodes particulières. En regardant dans l'aide de VBA-Word, la seule voie d'accès, non testée, pour ajouter des entrées à la Table des Matières est la méthode AddEntry, qui correspond à l'afjout entrées dans une table créée manuellement à partir de l'interface.

    Si cela ne fonctionne pas avec AddEntry, tu peux te "bâtir", avec VBA, une seconde table indépendante à la suite de la première.

    En gros, dans VBA tu itères la collection Tables() de ton document et tu mets les informations, soit dans un nouveau tableau que tu mets en forme, soit dans une suite de paragraphes avec le même mise en forme, pour que cela ressemble à un tableau.

    Mais là, en ce moment, je n'ai pas vraiment le temps de creuser. Peut-être dans 2 ou 3 jours.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 65
    Points : 61
    Points
    61
    Par défaut
    Je suis d'accord avec toi. Et je vais opter pour la seconde solution en itérant sur la collection des tables.

    Mon problème est plus bête que ca : comment je me place après ma table des matières de titres ? Je veux mettre mon curseur après la table des matières, puis insérer saut de page et tableau récapitulatif.

    Merci !

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je suis surpris que la méthode Select ne fonctionne pas sur le range d'une TOC.

    En testant, ça fonctionne chez moi et on peut même récupérer son contenu.

    Partant de là, on peut faire un collapse pour ajouter quelque chose à la fin de la TOC.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ActiveDocument.TablesOfContents(1).Range.Select
    Selection.Collapse (wdCollapseEnd)
    Selection.InsertBreak (wdPageBreak)
    J'ai bien un saut de page ajouté juste après ma table des matières.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 65
    Points : 61
    Points
    61
    Par défaut
    Excusez-moi pour la réponse tardive : j'ai du mettre de côté ce projet un certain temps.

    En m'y repenchant, effectivement ca marche. J'ai du me planter la première fois.

    Cependant, en faisant ca, je reste dans la table des matières. Comment je fais pour arriver juste après la table des matières ?

    En vous remerciant,

    Pubbins.

  6. #6
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Un movedown devrait suffire pour quitter la toc.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 65
    Points : 61
    Points
    61
    Par défaut
    Merci beaucoup !

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

Discussions similaires

  1. Table des matières dans les signets ou non
    Par abel413 dans le forum Beamer
    Réponses: 9
    Dernier message: 07/09/2013, 17h38
  2. Modifier la profondeur de la table des matières
    Par Bouboubou dans le forum Mise en forme
    Réponses: 6
    Dernier message: 16/12/2005, 13h19
  3. [CR11] une table des matières, avec n° de page : possible ?
    Par kikidrome dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 08/09/2005, 11h49
  4. [OpenOffice][Texte] Table des matières
    Par fuhraih dans le forum OpenOffice & LibreOffice
    Réponses: 6
    Dernier message: 12/08/2005, 11h40
  5. créer une table des matières avec fop
    Par gedeon555 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 05/07/2005, 15h54

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