Récupérer le contenu de A1 dans le pied de page

Le
AndréBdR
Je mets en A1 la date de mise à jour de mon fichier Excel, et j'aimerais
bien que cette date soit récupérée automatiquement dans le pied de page
personnalisé, tout de suite après le numéro de la page &[Page] lui-même
suivi du nombre de pages &[Pages].
Est-ce possible ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #24445611
Bonjour,

A ) Copie ce qui suit dans le ThisWorkbook de ton fichier

B ) Si tu sélectionnes plusieurs feuilles avant de lancer l'impression,
la numérotation sera effectuée en continu sur le nombre total de
pages à imprimer pour toutes les feuilles sélectionnées.

C ) Pour lancer l'impression, tu n'as qu'à cliquer sur la commande du menu
de la feuille de calcul.

'---------------------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim NbPages As Integer, X As Integer
Dim Sh As Worksheet, A As Integer, C As Integer
Dim Commande As String, Temp As String

Application.EnableEvents = False
NbPages = 0
With ThisWorkbook
For Each Sh In Workbooks(.Name).Worksheets
Temp = "[" & .Name & "]" & Sh.Name
Commande = "get.document(50,""" & Temp & """)"
NbPages = NbPages + ExecuteExcel4Macro(Commande)
Next
For Each Sh In ActiveWindow.SelectedSheets
Temp = "[" & .Name & "]" & Sh.Name
Commande = "get.document(50,""" & Temp & """)"
X = ExecuteExcel4Macro(Commande)
With Sh
For C = 1 To X
A = A + 1
With .PageSetup
.RightFooter = "Page " & A & " sur " & _
NbPages & " pages"
'ou le format date que tu veux
.CenterFooter = Format(Date, "DD/MM/YY")
End With
.PrintPreview
'Après test, active la ligne suivante et
'désactive la ligne précédente.
'.PrintOut C, C
Next
End With
Next
End With
Cancel = True
Application.EnableEvents = True
End Sub
'---------------------------------------------------


MichD
---------------------------------------------------------------
MichD
Le #24445601
J'oubliais, tu devras activer dans le code la commande ".Printout c,c
et désactiver la commande PrintPreview après tes tests.



MichD
---------------------------------------------------------------
AndréBdR
Le #24446261
Je te remercie, pour le contenu et la qualité de ta réponse.

"MichD" a écrit dans le message de groupe de discussion :
jnpsen$pf5$

Bonjour,

A ) Copie ce qui suit dans le ThisWorkbook de ton fichier

B ) Si tu sélectionnes plusieurs feuilles avant de lancer l'impression,
la numérotation sera effectuée en continu sur le nombre total de
pages à imprimer pour toutes les feuilles sélectionnées.

C ) Pour lancer l'impression, tu n'as qu'à cliquer sur la commande du menu
de la feuille de calcul.

'---------------------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim NbPages As Integer, X As Integer
Dim Sh As Worksheet, A As Integer, C As Integer
Dim Commande As String, Temp As String

Application.EnableEvents = False
NbPages = 0
With ThisWorkbook
For Each Sh In Workbooks(.Name).Worksheets
Temp = "[" & .Name & "]" & Sh.Name
Commande = "get.document(50,""" & Temp & """)"
NbPages = NbPages + ExecuteExcel4Macro(Commande)
Next
For Each Sh In ActiveWindow.SelectedSheets
Temp = "[" & .Name & "]" & Sh.Name
Commande = "get.document(50,""" & Temp & """)"
X = ExecuteExcel4Macro(Commande)
With Sh
For C = 1 To X
A = A + 1
With .PageSetup
.RightFooter = "Page " & A & " sur " & _
NbPages & " pages"
'ou le format date que tu veux
.CenterFooter = Format(Date, "DD/MM/YY")
End With
.PrintPreview
'Après test, active la ligne suivante et
'désactive la ligne précédente.
'.PrintOut C, C
Next
End With
Next
End With
Cancel = True
Application.EnableEvents = True
End Sub
'---------------------------------------------------


MichD
---------------------------------------------------------------
Publicité
Poster une réponse
Anonyme