Mise en page Word [Résolu]

Signaler
-
 tolt -
Bonjour,

Je cherche le moyen de sélectionner automatiquement la liste déroulante de la fenêtre Mise en page de Word Appliquer à tout le document.

J'ai bien trouvé les marges mais ça je trouve pas !

Si vous avez une idée ?
Merci d'avance.


With ObjWord.ActiveDocument.PageSetup
.Orientation = WOrientation
.TopMargin = ObjWord.CentimetersToPoints(WTopMargin)
.BottomMargin = ObjWord.CentimetersToPoints(WBottomMargin)
.LeftMargin = ObjWord.CentimetersToPoints(WLeftMargin)
.RightMargin = ObjWord.CentimetersToPoints(WRightMargin)
End With

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bonjour,
Où et comment (par quel code) as-tu créé la variable objWord que tu utilises ?
Oui là n'est pas la question...
ça marche sans souci.


Set ObjWord = CreateObject("Word.application")
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Oh la !
Alors :
C'est toi, qui demandes de l'aide (je te le rappelle) !
Tu es donc prié de donner d'emblée tous les tenants et aboutissants.
Entre autres, maintenant que l'on sait comment tu as créé la variable objWord : ===>
1) Quel document Word as-tu ouvert, et comment ?
2) Dans quel procédure évènementielle as-tu mis ce code ?
3) ce que tu veux faire TRES EXACTEMENT ("le moyen de sélectionner automatiquement la liste déroulante de la fenêtre Mise en page de Word Appliquer à tout le document" n'est pas du développement VBA. Dis ce que tu veux faire que tu ferais à l'aide de cette "fenêtre" ) .
Maintenant : si ce genre de question t'embête, dis-le sans hésiter. Et je te laisserai là sans le moindre état d'âme (que ce soit dit ...)

EDIT : je vois que tu as tagué en RESOLU. Je pense (espère) que tu as défini ton pagesetup par du VBA. Il te suffisait d'ailleurs, pour ce faire, d'utiliser l'enregistreur de macros ===>> et tu as ainsi tout le code dont tu as besoin pour parvenir à tes fins.


________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
En fait lorsque vous faites un publipostage le document contient des sections et la mise en page est un plus chiante.
Voilà la solution que j'ai trouvé et elle marche impec.
Merci pour ta réponse et bon week end.


For Xsections = 1 To ObjWord.ActiveDocument.Sections.Count
With ObjWord.ActiveDocument.Sections(Xsections).PageSetup
.Orientation = WOrientation
.TopMargin = ObjWord.CentimetersToPoints(WTopMargin)
.BottomMargin = ObjWord.CentimetersToPoints(WBottomMargin)
.LeftMargin = ObjWord.CentimetersToPoints(WLeftMargin)
.RightMargin = ObjWord.CentimetersToPoints(WRightMargin)
End With
Next Xsections