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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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+
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 ?
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+
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+
.
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 ?
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 ?