Bonjour,
J'ai une macro qui fait des copier-coller, des remplacements de texte etc .. pour créer une nouvelle feuille excel (dans un même classeur). Jusqu'ici, tout fonctionne bien;
là ou j'ai un souci, c'est au moment ou je souhaite faire une mise en page de la nouvelle feuille :
mes soucis :
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 'Mise en page With ActiveSheet.PageSetup 'les marges de la feuille (étroites), en mm .LeftMargin = "7" .RightMargin = "7" .TopMargin = "60" .BottomMargin = "20" 'en-tête de page With ActiveSheet.PageSetup.LeftHeaderPicture .Filename = "C:\Users\...........logo.jpg" '<-- logo .Height = 35 '<-- largeur de l'image .Width = 70 '<-- hauteur de l'image End With .LeftHeader = "&G" '<-- si je ne rajoute pas ce le code G, le logo n'est pas affiché ... je en comprends pas pourquoi .CenterHeader = "&17" & Sheets("NS1").Range("B1") .RightHeader = "&13" & Sheets("NS1").Range("H2") & Chr(10) & Sheets("NS1").Range("H3") 'pied de page .LeftFooter = Chr(10) & "&10" & "Edité le " & "&D" & Chr(10) & "Par " & " " & Sheets("macro").Range("C18") '<-- édité le ... par ... .CenterFooter = "&8" & Sheets("NS1").Range("A82") & Chr(10) & Sheets("NS1").Range("A83") '<-- ce document ....... .RightFooter = "&8" & "page " & "&P/&N" '<-- numéro de page / nombre de pages End With DLig = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row 'mise en page lignes et colonnes ActiveSheet.Columns("A:K").EntireColumn.AutoFit ActiveSheet.Rows("1:" & DLig).EntireRow.AutoFit 'zone d'impression (sur 1 page) With ActiveSheet.PageSetup .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = 1 End With 'mais j'aurais souhaité que je lui indique la PrintArea comme ceci, sauf que, lors de l'impression, il y a plusieurs pages ... 'ActiveSheet.PageSetup.PrintArea = "" 'ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & DLig
- .LeftHeader = "&G" '<-- si je ne rajoute pas ce le code G, le logo n'est pas affiché ... je en comprends pas pourquoi
- pour ma zone d'impression j'aurais voulu faire ceci :
mais lors de l'impression, il y a plusieurs pages ... il prends bien comme zone d'impression la A1:K50 par ex, mais la divise en plusieurs pages (de A1 à I50 et I1 à K50) ... alors que si mon fichier fait 75 lignes par exemple, j'aurais voulu avoir 2 pages, une de A1 à K50 et l'autre de A51 à K75 ... je n'arrive pas à le faire; (pour avance dans ma macro j'ai forcé à imprimer sur une seule page, peu importe le nombre de lignes)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ActiveSheet.PageSetup.PrintArea = "" ActiveSheet.PageSetup.PrintArea = "$A$1:$K$" & DLig
- pour :
quand il arrive à RightFooter, l'erreur '1004' apparaît : Impossible de définir la propriété RightFooter de la classe PageSetup ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 'pied de page .LeftFooter = Chr(10) & "&10" & "Edité le " & "&D" & Chr(10) & "Par " & " " & Sheets("macro").Range("C18") '<-- édité le ... par ... .CenterFooter = "&8" & Sheets("NS1").Range("A82") & Chr(10) & Sheets("NS1").Range("A83") '<-- ce document ....... .RightFooter = "&8" & "page " & "&P/&N" '<-- numéro de page / nombre de pages End With
Je me suis dis, tant pis, je rajoute ce que je voulais en rightfooter (le n° de la page) dans le leftfooter (et j'élimine donc la le rightfooter) :
Mais, pas de chance pour moi
Code : Sélectionner tout - Visualiser dans une fenêtre à part .LeftFooter = Chr(10) & "&10" & "page " & "&P/&N" & Chr(10) & "Edité le " & "&D" & Chr(10) & "Par " & " " & Sheets("macro").Range("C18") '<-- édité le ... par ...... cette même erreur (1004) reviens pour me dire que c'est les CenterFooter qui veut pas...
Avez-vous une idée pour résoudre mon petit souci ?
Merci par avance
Partager