OVH Cloud OVH Cloud

Controle existence TOC par vba

4 réponses
Avatar
Jed
Bonjour a tous,
J'aimerai savoir comment faire pour controler l'existence d'une table des
matieres par vba dans un doc word 2000.
J'aimerai inserer une table des matieres avec une macro qui controlerai
d'abord s'il n'existe pas deja, la mettre a jour ou la crée dans le cas
echeant.
Qq aurai t-il un bout de code pour ce prob?
Merci de votre aide.
Cdlt
Jed

4 réponses

Avatar
Anacoluthe
Bonjour !

'Jed' nous a écrit ...
J'aimerai savoir comment faire pour controler l'existence d'une table des
matieres par vba dans un doc word 2000.


Facile ! Tester si ActiveDocument.TablesOfContents.Count <> 0

Anacoluthe
« Les plaisirs de la table sont de tous les âges »
- Anthelme BRILLAT-SAVARIN

Avatar
Jed
Bonjour Anacoluthe,
Merci d'avoir répondu et effectivement ca fonctionne.
Maintenant que je sais qu'une tdm existe comment je peux la selectionner et
la supprimer ou la mettre a jour ... toujours par vba.
Merci encore pour ta réponse.


Bonjour !

'Jed' nous a écrit ...
J'aimerai savoir comment faire pour controler l'existence d'une table des
matieres par vba dans un doc word 2000.


Facile ! Tester si ActiveDocument.TablesOfContents.Count <> 0

Anacoluthe
« Les plaisirs de la table sont de tous les âges »
- Anthelme BRILLAT-SAVARIN




Avatar
Anacoluthe
Bonjour !

'Jed' nous a écrit ...
Maintenant que je sais qu'une tdm existe comment je peux la selectionner et
la supprimer ou la mettre a jour ... toujours par vba.
Merci encore pour ta réponse.


À dire vrai il n'y a même pas besoin de savoir s'il y a une table
ou non. La boucle For Each Truc ne fait rien s'il n'y a pas de Truc !!

Ainsi pour supprimer toutes les tables de matières :

Public Sub Supprime_toutes_TOC()
For Each TOC In ActiveDocument.TablesOfContents
TOC.Delete
Next TOC
End Sub

ou pour mettre à jour les tables des matières :

Public Sub MaJ_TOC()
For Each TOC In ActiveDocument.TablesOfContents
TOC.Update
' ou TOC.UpdatePageNumbers pour màj des #pages seulement
Next TOC
End Sub

Anacoluthe
« Les plaisirs de la table sont de tous les âges »
- Anthelme BRILLAT-SAVARIN

Avatar
Jed
Ô grand merci Anacoluthe.

Ca fonctionne a merveille.
Merci encore.



Bonjour !

'Jed' nous a écrit ...
Maintenant que je sais qu'une tdm existe comment je peux la selectionner et
la supprimer ou la mettre a jour ... toujours par vba.
Merci encore pour ta réponse.


À dire vrai il n'y a même pas besoin de savoir s'il y a une table
ou non. La boucle For Each Truc ne fait rien s'il n'y a pas de Truc !!

Ainsi pour supprimer toutes les tables de matières :

Public Sub Supprime_toutes_TOC()
For Each TOC In ActiveDocument.TablesOfContents
TOC.Delete
Next TOC
End Sub

ou pour mettre à jour les tables des matières :

Public Sub MaJ_TOC()
For Each TOC In ActiveDocument.TablesOfContents
TOC.Update
' ou TOC.UpdatePageNumbers pour màj des #pages seulement
Next TOC
End Sub

Anacoluthe
« Les plaisirs de la table sont de tous les âges »
- Anthelme BRILLAT-SAVARIN