Bonjour a tous
Est il possible de definir les marges de mise en page d'une feuille excel
Merci d"avance pour tout renseignement
Bonjour a tous
Est il possible de definir les marges de mise en page d'une feuille excel
Merci d"avance pour tout renseignement
Salut,
tu veux définir les marges d'une feuille excel depuis access ?
je pense qu'avec automation c'est possible
Hello,
la méthode :
- enregistre une macro qui change la marge dans Excel.
- regarde le code
- adapte le à l'automation.
Bonjour
Apres avoir fait pas mal d'essai je n'arrive a pas grand chose
Le code passe bien mais les marges ne sont pas modifier un peut d'aide serait la bien venu
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 LeftMargin = AppliExcel.InchesToPoints(0.5) RightMargin = AppliExcel.InchesToPoints(0.5) TopMargin = AppliExcel.InchesToPoints(0.5) BottomMargin = AppliExcel.InchesToPoints(0.5) HeaderMargin = AppliExcel.InchesToPoints(0) FooterMargin = AppliExcel.InchesToPoints(0)
Merci par avance
Même problème ... le code passe bien mais ça ne change rien.
Tu as trouvé la solution ?
Bonjour,
Je te passe le code d'une petite procédure qui fait le travail.
En exemple, pour définir les marges de la feuille de calcul active, marges gauche/droite fixées à 1,5 cm, marges haute/basse à 2 cm.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SetMargins ActiveSheet, 1.5, 1.5, 2, 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 ' (VBA Excel) ' Procédure permettant de fixer la taille des marges d'une feuille de calcul. ' L'unité de mesure utilsiée est le centimètre. ' Public Sub SetMargins(oWS As Excel.Worksheet, nLeft As Double, nRight As Double, nTop As Double, nBottom As Double) With oWS.PageSetup .LeftMargin = oWS.Application.CentimetersToPoints(nLeft) .RightMargin = oWS.Application.CentimetersToPoints(nRight) .TopMargin = oWS.Application.CentimetersToPoints(nTop) .BottomMargin = oWS.Application.CentimetersToPoints(nBottom) End With End Sub
bonjour
juste un petit souci ton code a fonctionner une fois et ensuite a chaque fois que je le lance il me lance cette erreur variable objet ou varible de bloc with non defini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Private Sub Commande1_Click() Dim db As DAO.Database Dim rst As DAO.Recordset Dim xlApp As Excel.Application Dim xlSheet As Excel.Worksheet Dim FichierExcel As Excel.Workbook Set db = CurrentDb Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Add SetMargins ActiveSheet, 1.5, 1.5, 2, 2 'code de fermeture et libération des objets xlBook.SaveAs "c:\Controle\" & Format(Now, "dd-mm-yy") xlApp.Quit Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing Set FichierExcel = Nothing End Subvoit tu une erreur quelque part
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Public Sub SetMargins(oWS As Excel.Worksheet, nLeft As Double, nRight As Double, nTop As Double, nBottom As Double) With oWS.PageSetup .LeftMargin = oWS.Application.CentimetersToPoints(nLeft) .RightMargin = oWS.Application.CentimetersToPoints(nRight) .TopMargin = oWS.Application.CentimetersToPoints(nTop) .BottomMargin = oWS.Application.CentimetersToPoints(nBottom) End With End Sub
Bonjour Renardo,
Je t'ai juste donné un exemple, à toi de l'adapter !Envoyé par Renardo
Encore un petit coup de pouce, inspiré du code que tu as donné.
Ce qui suit permet de définir des marges identiques pour toutes les feuilles du classeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 For Each xlSheet In xlBook.Worksheets SetMargins xlSheet, 1.5, 1.5, 2, 2 Next xlSheet
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager