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 ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
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 '---------------------------------------------------
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
'---------------------------------------------------
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 '---------------------------------------------------
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 '---------------------------------------------------
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$1@speranza.aioe.org...
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
'---------------------------------------------------
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 '---------------------------------------------------