Evenement "au changement de page"

Résolu
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'ai un problème que je ne sais pas résoudre en VBA...

Je n'aime vraiment pas les en-têtes et pieds de page. Donc je me pose la question de l'existence d'un code qui permette de faire la même chose.

Je m'explique, j'ai un tableau qui fait plusieurs page. J'ai configuré mon impression à l'aide de PageSetup. par contre, sur chaque page, j'aimerais faire apparaître mon numéro de page 2 lignes plus haut. Donc en fait je ne sais pas comment dire en VBA "au changement de page, insère 2 lignes en haut de la page et écrit page n°..."

Si quelqu'un a une idée, je suis preneur !

Merci beaucoup d'avance.
A voir également:

3 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Peut-être en lisant ceci:

https://fring.developpez.com/vba/excel/entetepiedpage/
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Ca a l'air vraiment pas mal. Je vais me servir de ça merci. Une petite question supplémentaire, je ne comprend pas comment obtenir la mise en page pour une mise à l'échelle de type "ajuster toutes les colonnes à une page". Tu connais le code?
Merci.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Aide F1 d'Excel:


With Worksheets("Sheet1").PageSetup
    .Zoom = False
    .FitToPagesTall = 1
    .FitToPagesWide = 1
End With

0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
OK donc dans mon cas :

With Worksheets("Sheet1").PageSetup
    .Zoom = False
    .FitToPagesTall = False
    .FitToPagesWide = 1
End With


Par contre j'ai un code qui fait donc :

With Sheets("JDA" & NumeroJDA).PageSetup
DL5 = Sheets("JDA" & NumeroJDA).Cells(Application.Rows.Count, 1).End(xlUp).Row
        .Zoom = False
        .FitToPagesTall = False
        .FitToPagesWide = 1
        .Orientation = xlLandscape
        .LeftHeader = "&""-,Gras""JDA " & NumeroJDA & "***PAGE &P/&N"
        .PrintArea = Range("A1:M" & DL5)
End With


Pour pouvoir vraiment avoir ce que je veux avec la définition de la zone d'impression.

Mais le message "Désolé...Nous avons rencontré un problème avec cette formule : nous n'avons pas trouvé de référence de plage ou de nom défini."

Sur cette ligne :

.PrintArea = Range("A1:M" & DL5)
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Ok je viens de corriger :

.PrintArea = Range("A1:M" & DL5).Address


Merci beaucoup.
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
DL5 = Sheets("JDA" & NumeroJDA).Cells(Application.Rows.Count, 1).End

Doit ce trouver en dehors de With

comme ceci:
DL5 = Sheets("JDA" & NumeroJDA).Cells(Application.Rows.Count, 1).End
With Sheets("JDA" & NumeroJDA).PageSetup
        .Zoom = False
        .FitToPagesTall = False
        .FitToPagesWide = 1
        .Orientation = xlLandscape
        .LeftHeader = "&""-,Gras""JDA " & NumeroJDA & "***PAGE &P/&N"
        .PrintArea = Range("A1:M" & DL5)
End With
 
0