Mise en page Word [Résolu]

- - Dernière réponse :  tolt - 9 mai 2015 à 05:12
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
Afficher la suite 

3 réponses

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


Set ObjWord = CreateObject("Word.application")
Commenter la réponse de tolt
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
215
0
Merci
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
Commenter la réponse de ucfoutu