Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Interruption de ma macro pour une cause inconnue

2 réponses
Avatar
Sophie
Bonjour =E0 tous,

Dans un fichier Excel, j'ai une macro qui incorpore le=20
contenu d'une variable dans un fichier Word existant. Ma=20
macro fait en sorte que le point d'insertion se place =E0 la=20
fin du document Word, ins=E8re un saut de page, ins=E8re le=20
contenu de la variable et normalement, elle devrait mettre=20
ce texte en titre 1.

Sauf que =E0 l'occasion, ma macro s'interrompt au moment de=20
mettre le texte en titre 1. Des fois =E7a fonctionne, et=20
d'autres fois pas du tout. Je n'ai pas de message=20
d'erreur, ma macro s'en va directement =E0 End Sub. Est-ce=20
quelqu'un aurait une petite id=E9e de ce qui pourrait=20
occasionner ce probl=E8me? Merci =E0 l'avance de vos=20
suggestions.

Voici le code:

Sub Fichier_Word()
Dim WordObj As Object
Dim ToC As TableOfContents

strChemin =3D ActiveWorkbook.Path

Set WordObj =3D CreateObject("Word.Application")
WordObj.Visible =3D True
WordObj.Application.WindowState =3D wdWindowStateMaximize
=20
WordObj.Documents.Open (strChemin=20
& "\Notes_Facturation.doc")
=20
With WordObj.Selection
.EndKey unit:=3DwdStory
.InsertBreak Type:=3DwdPageBreak
.TypeText UCase(strClientNom)
.HomeKey unit:=3DwdLine, Extend:=3DwdExtend
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
C'est ici que ma macro s'arr=EAte et s'en va =E0 End Sub.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
.Style =3D ActiveDocument.Styles("Titre 1")
.ParagraphFormat.Alignment =3D wdAlignParagraphCenter
.EndKey unit:=3DwdLine
.TypeParagraph
.InsertFile (strChemin & "\Formulaire_Facturation.doc")
End With
=20
WordObj.ActiveDocument.Save
=20
'Permet le tri des Titres 1 du document
WordObj.ActiveWindow.ActivePane.View.Type =3D wdOutlineView
WorddObj.ActiveWindow.View.ShowHeading 1
WordObj.Selection.Sort ExcludeHeader:=3DFalse,=20
FieldNumber:=3D"Paragraphes", _
SortFieldType:=3DwdSortFieldAlphanumeric,=20
SortOrder:=3DwdSortOrderAscending, _
FieldNumber2:=3D"",=20
SortFieldType2:=3DwdSortFieldAlphanumeric, SortOrder2:=3D _
wdSortOrderAscending, FieldNumber3:=3D"",=20
SortFieldType3:=3D _
wdSortFieldAlphanumeric,=20
SortOrder3:=3DwdSortOrderAscending, Separator:=3D _
wdSortSeparateByTabs, SortColumn:=3DFalse,=20
CaseSensitive:=3DFalse, LanguageID _
:=3DwdLanguageNone

If WordObj.ActiveWindow.View.SplitSpecial =3D wdPaneNone Then
WordObj.ActiveWindow.ActivePane.View.Type =3D wdPageView
Else
WordObj.ActiveWindow.View.Type =3D wdPageView
End If
=20
For Each ToC In WordObj.ActiveDocument.TablesOfContents
ToC.Update
Next

WordObj.ActiveDocument.Save
WordObj.ActiveDocument.Close

End sub

2 réponses

Avatar
Geo
Bonjour Sophie

Apparemment ta question n'a pas inspiré grand monde.
Je n'ai aucune idée mais c'est pas une raison pour ne pas écrire :-)

Si j'ai bien compris, ta macro Word est lancé à partir d'Excel, c'est
pas lui qui déclarerait forfait en cours de route ?
As-tu une gestion d'erreur dans Word ?

--

A+
Avatar
Sophie
Bonjour,

J'avoue que mon problème n'est pas très inspirant...

En fait, j'utilise des fonctions Word à partir d'Excel (je
n'appelle pas de macro créée dans Word).

Je n'ai donc pas de gestion d'erreur dans Word. Au
départ, j'en avais une dans Excel, mais lorsque ma macro
s'interrompait, elle ne passait pas par ma gestion
d'erreur, ça allait directement à End Sub.

Je suis assez confuse...

Merci!

-----Message d'origine-----
Bonjour Sophie

Apparemment ta question n'a pas inspiré grand monde.
Je n'ai aucune idée mais c'est pas une raison pour ne pas
écrire :-)


Si j'ai bien compris, ta macro Word est lancé à partir
d'Excel, c'est

pas lui qui déclarerait forfait en cours de route ?
As-tu une gestion d'erreur dans Word ?

--

A+

.