Word VBA contrôle du chapitrage

jymad Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
jymad Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je cherche à contrôler le chapitrage d'un document word par rapport à un chapitrage standard. pour ce

faire je fais une macro word qui ouvre chaque document à la suite, definit un "range" de tout le

document et traite en boucle les chapitres trouvés par la fonction .GoTo(What:=wdGoToHeading,

Which:=wdGoToNext).
cela fonctionne bien sauf dans le cas ou le titre se trouve dans une cellule de tableau : cela fait

boucler la macro ! quelqu'un a une idée
un extract du code ci dessous :
Set Doctot = ActiveDocument.Content
With Doctot.Find
.ClearFormatting
.Wrap = Word.WdFindWrap.wdFindStop
.Style = wdStyleHeading1
If .Execute(FindText:="fiabilisation", Forward:=True, Wrap:=Word.WdFindWrap.wdFindStop, _
Format:=True) = True Then
'Affecter à TitreN le titre suivant (1ere lecture)
Doctot.SetRange Start:=Doctot.Start, _
End:=ActiveDocument.Content.End
TitreN = Doctot.GoTo(What:=wdGoToHeading, Which:=wdGoToNext).Paragraphs(1)
'définir la plage à partir de ce titreN (1ere lecture)
Doctot.SetRange Start:=TitreN.Paragraphs(1).Range.Start, _
End:=ActiveDocument.Content.End
Do While (TitreN.Style <> ActiveDocument.Styles(wdStyleHeading1) And cpt < 200)
'Traitement controle du sous chapitre trouvé
...
cpt = cpt + 1
TitreN = Doctot.GoTo(What:=wdGoToHeading, Which:=wdGoToNext).Paragraphs(1)
Doctot.SetRange Start:=TitreN.Paragraphs(1).Range.Start, _
End:=ActiveDocument.Content.End
Loop
A voir également:

1 réponse

jymad Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour à tous,
y sont nombreux en vacances , le sujet n'inspire pas ou la demande est mal formulée !
j'ai trouvé un bypass :
le bypass que j'ai trouvé pour l'instant est d'ouvrir le document en lecture seule + le fermer sans sauvegarder (ceinture + bretelles ) et de modifier le style du titre traité pour le remettre en normal avant le goto(next). cela marche, mais c'est pas satisfaisant pour l'esprit...
mais utiliser word doit-il satisfaire l'esprit ?? ;-)
0