Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

date de creation et de deniere ecriture dans le pieds de page ??

15 réponses
Avatar
thierry
Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons il y a le
code VBA qui permet de generer la date de creation et la date de derniere
revision (ecriture) mais le code inscrit les informations dans des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le pieds de
page??

merci d'avance de votre contribution


Thierry

10 réponses

1 2
Avatar
Philippe.R
Bonjour Thierry,
Ce code inscrit zaza en position centrale de l'en tête et toto en partie gauche du pied de page :

With ActiveSheet.PageSetup
.CenterHeader = "zaza"
.LeftFooter = "toto"
End With

Il suffit de le décliner en jouant sur Left center et Right et le nom de la variable récupérée en lieu
et place de toto et zaza
--
Amicales Salutations
XL 97 / 2000 / 2002
Retirer A_S_ pour répondre en privé.
Préférez suivre facilement sur le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

"thierry" a écrit dans le message de
news:
Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons il y a le
code VBA qui permet de generer la date de creation et la date de derniere
revision (ecriture) mais le code inscrit les informations dans des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le pieds de
page??

merci d'avance de votre contribution


Thierry




Avatar
papou
Bonjour
Oui, à adpater :
With ActiveSheet.Pagesetup
.LefFooter = LaDate
.RightFooter = LautreDate
End With

Cordialement
Pascal

"thierry" a écrit dans le message de
news:
Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons il y a
le

code VBA qui permet de generer la date de creation et la date de derniere
revision (ecriture) mais le code inscrit les informations dans des
cellules.

Est ce qu'il est possible de faire la meme chose mais dans le pieds de
page??

merci d'avance de votre contribution


Thierry




Avatar
thierry
merci pour votre aide mais je suis debutant en VBA donc comment je peux
declarer une variable ?? comment aussi je peux remplacer dans le code ci
dessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation et date de
modif en dessous l'une de l'autre ??

With ActiveSheet.Pagesetup
.LefFooter = Creadate
.RightFooter = Changedate
End With

Private Sub Workbook_Open()
Sheets(1).[A1] = "Date de création : le " _&
Format(ActiveWorkbook.BuiltinDocumentProperties(11), _"dd/mm/yyyy")modif =
False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets(1).Range("A30").Value = "Dernière vraie modif le " & Format(Date,
_"dd/mm/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub




merci d'avance

thierry



"thierry" a écrit dans le message de news:

Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons il y a
le code VBA qui permet de generer la date de creation et la date de
derniere revision (ecriture) mais le code inscrit les informations dans
des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le pieds de
page??

merci d'avance de votre contribution


Thierry



Avatar
papou
Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les infos de date
de création et date de modif, voici une façon de procéder avec une macro
simple :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation Date"),
"DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last Save Time"),
"DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ui$
merci pour votre aide mais je suis debutant en VBA donc comment je peux
declarer une variable ?? comment aussi je peux remplacer dans le code ci
dessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation et date
de

modif en dessous l'une de l'autre ??

With ActiveSheet.Pagesetup
.LefFooter = Creadate
.RightFooter = Changedate
End With

Private Sub Workbook_Open()
Sheets(1).[A1] = "Date de création : le " _&
Format(ActiveWorkbook.BuiltinDocumentProperties(11), _"dd/mm/yyyy")modif > False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets(1).Range("A30").Value = "Dernière vraie modif le " & Format(Date,
_"dd/mm/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub




merci d'avance

thierry



"thierry" a écrit dans le message de news:

Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons il y a
le code VBA qui permet de generer la date de creation et la date de
derniere revision (ecriture) mais le code inscrit les informations dans
des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le pieds de
page??

merci d'avance de votre contribution


Thierry







Avatar
thierry
Papou,

merci de ta reponse, j'ai essayé mais ca ne marche pas ?? je l'ai copier
dans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne comprends pas!!
Aussi est ce qu'il est possible que le code update automatiquement chaque
page modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom de la
page sera changer par l'utilisateur

Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation Date"),
"DD/MM/YYYY") & vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last
Save Time"), "DD/MM/YYYY")
With Worksheets("sheet1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub


merci

thierry


"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de news:

Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les infos de date
de création et date de modif, voici une façon de procéder avec une macro
simple :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),
"DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last Save Time"),
"DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ui$
merci pour votre aide mais je suis debutant en VBA donc comment je peux
declarer une variable ?? comment aussi je peux remplacer dans le code ci
dessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation et date
de

modif en dessous l'une de l'autre ??

With ActiveSheet.Pagesetup
.LefFooter = Creadate
.RightFooter = Changedate
End With

Private Sub Workbook_Open()
Sheets(1).[A1] = "Date de création : le " _&
Format(ActiveWorkbook.BuiltinDocumentProperties(11), _"dd/mm/yyyy")modif
False
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets(1).Range("A30").Value = "Dernière vraie modif le " & Format(Date,
_"dd/mm/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub




merci d'avance

thierry



"thierry" a écrit dans le message de news:

Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons il y
a
le code VBA qui permet de generer la date de creation et la date de
derniere revision (ecriture) mais le code inscrit les informations dans
des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le pieds de
page??

merci d'avance de votre contribution


Thierry












Avatar
papou
Re
Bon ben je vais essayer ;-)
1°) Pour que le code fourni fonctionne tu dois le placer dans un module
standard et non pas dans un évènement feuille ou classeur, donc tu vas dans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page blanche
ainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des sauts
de lignes et pouvant provoquer l'erreur donc pour l'éviter, je te refourni
ce code en y ajoutant un caractère forçant le retour à la ligne :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties _
("Creation Date"), "DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties _
("Last Save Time"), "DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub

2°) La chose se complique un peu puisque tu veux mettre en place cette
possibilité dans un modèle Excel (donc nom de feuille varaible) et encore un
peu plus puisque tu souhaites une mise à jour des infos à chaque page
modifiée (à ce sujet peux-tu préciser ce que tu entends pas "page modifiée"
?).
Il peut y avoir plusieurs façons de procéder, éventuellement je verrai bien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce qui aurait
pour effet donc de mettre à jour la (les) feuilles du classeur à chaque
demande d'enregistrement initiée par l'utilisateur. Sinon je verrai bien
aussi une mise à jour à partir de l'évènement Workbook_SheetActivate (ayant
donc lieu à chaque activation d'une feuille dans le classeur).
Il y a forcément d'autres idées à creuser.
Tu me dis ce que tu préfères...et puis tu attends aussi que d'autres
viennent y ajouter leur grain de sel.
Cordialement
Pascal



"thierry" a écrit dans le message de
news:
Papou,

merci de ta reponse, j'ai essayé mais ca ne marche pas ?? je l'ai copier
dans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne comprends pas!!
Aussi est ce qu'il est possible que le code update automatiquement chaque
page modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom de la
page sera changer par l'utilisateur

Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),

"DD/MM/YYYY") & vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last
Save Time"), "DD/MM/YYYY")
With Worksheets("sheet1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub


merci

thierry


"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de news:

Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les infos de
date


de création et date de modif, voici une façon de procéder avec une macro
simple :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),
"DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last Save
Time"),


"DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ui$
merci pour votre aide mais je suis debutant en VBA donc comment je peux
declarer une variable ?? comment aussi je peux remplacer dans le code
ci



dessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation et
date



de
modif en dessous l'une de l'autre ??

With ActiveSheet.Pagesetup
.LefFooter = Creadate
.RightFooter = Changedate
End With

Private Sub Workbook_Open()
Sheets(1).[A1] = "Date de création : le " _&
Format(ActiveWorkbook.BuiltinDocumentProperties(11),
_"dd/mm/yyyy")modif



False
End Sub




Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets(1).Range("A30").Value = "Dernière vraie modif le " &
Format(Date,



_"dd/mm/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub




merci d'avance

thierry



"thierry" a écrit dans le message de news:

Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons il
y




a
le code VBA qui permet de generer la date de creation et la date de
derniere revision (ecriture) mais le code inscrit les informations
dans




des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le pieds
de




page??

merci d'avance de votre contribution


Thierry

















Avatar
papou
Bon en complément car je vois que tu poses aussi la question sur le forum
fr.word et que tu y ajoutes une info :
l'évènement Workbook_BeforePrint me semble être le plus approrié puisqu'il
mettra à jour les infos à chaque demande d'impression.
A toi de voir
Cordialement
Pascal

"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de
news:%
Re
Bon ben je vais essayer ;-)
1°) Pour que le code fourni fonctionne tu dois le placer dans un module
standard et non pas dans un évènement feuille ou classeur, donc tu vas
dans

l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page blanche
ainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des sauts
de lignes et pouvant provoquer l'erreur donc pour l'éviter, je te refourni
ce code en y ajoutant un caractère forçant le retour à la ligne :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties _
("Creation Date"), "DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties _
("Last Save Time"), "DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub

2°) La chose se complique un peu puisque tu veux mettre en place cette
possibilité dans un modèle Excel (donc nom de feuille varaible) et encore
un

peu plus puisque tu souhaites une mise à jour des infos à chaque page
modifiée (à ce sujet peux-tu préciser ce que tu entends pas "page
modifiée"

?).
Il peut y avoir plusieurs façons de procéder, éventuellement je verrai
bien

l'utilisation de l'évènement BeforeSave (associé au classeur) ce qui
aurait

pour effet donc de mettre à jour la (les) feuilles du classeur à chaque
demande d'enregistrement initiée par l'utilisateur. Sinon je verrai bien
aussi une mise à jour à partir de l'évènement Workbook_SheetActivate
(ayant

donc lieu à chaque activation d'une feuille dans le classeur).
Il y a forcément d'autres idées à creuser.
Tu me dis ce que tu préfères...et puis tu attends aussi que d'autres
viennent y ajouter leur grain de sel.
Cordialement
Pascal



"thierry" a écrit dans le message de
news:
Papou,

merci de ta reponse, j'ai essayé mais ca ne marche pas ?? je l'ai copier
dans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne comprends pas!!
Aussi est ce qu'il est possible que le code update automatiquement
chaque


page modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom de la
page sera changer par l'utilisateur

Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),

"DD/MM/YYYY") & vbLf &
Format(ThisWorkbook.BuiltinDocumentProperties("Last


Save Time"), "DD/MM/YYYY")
With Worksheets("sheet1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub


merci

thierry


"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de
news:



Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les infos de
date


de création et date de modif, voici une façon de procéder avec une
macro



simple :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),
"DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last Save
Time"),


"DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter
(pdp



droit)
End With
End Sub

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ui$
merci pour votre aide mais je suis debutant en VBA donc comment je
peux




declarer une variable ?? comment aussi je peux remplacer dans le code
ci



dessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation et
date



de
modif en dessous l'une de l'autre ??

With ActiveSheet.Pagesetup
.LefFooter = Creadate
.RightFooter = Changedate
End With

Private Sub Workbook_Open()
Sheets(1).[A1] = "Date de création : le " _&
Format(ActiveWorkbook.BuiltinDocumentProperties(11),
_"dd/mm/yyyy")modif



False
End Sub





Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets(1).Range("A30").Value = "Dernière vraie modif le " &
Format(Date,



_"dd/mm/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub




merci d'avance

thierry



"thierry" a écrit dans le message de news:

Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons
il





y
a
le code VBA qui permet de generer la date de creation et la date de
derniere revision (ecriture) mais le code inscrit les informations
dans




des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le pieds
de




page??

merci d'avance de votre contribution


Thierry






















Avatar
thierry
PAscal

merci pour ton aide

PAr modifié je veux dire que dans mon template la feuille s'appel sheet1.
L'utilisateur a un moment ou a un autre changera le nom de cette page et
donc le code visual basic lui ne fonctionnera plus. Il faudrait que le code
soit attaché a la page quelle que soit son nom
Mettre a jour le code a chaque fois que l'on sauvegarde et/ou que l'on
imprime me parais etre le plus complet.

Et oui je voudrais aussi faire la meme chose sous Word

Merci encore de ton aide

thierry
"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de news:
%
Re
Bon ben je vais essayer ;-)
1°) Pour que le code fourni fonctionne tu dois le placer dans un module
standard et non pas dans un évènement feuille ou classeur, donc tu vas
dans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page blanche
ainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des sauts
de lignes et pouvant provoquer l'erreur donc pour l'éviter, je te refourni
ce code en y ajoutant un caractère forçant le retour à la ligne :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties _
("Creation Date"), "DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties _
("Last Save Time"), "DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub

2°) La chose se complique un peu puisque tu veux mettre en place cette
possibilité dans un modèle Excel (donc nom de feuille varaible) et encore
un
peu plus puisque tu souhaites une mise à jour des infos à chaque page
modifiée (à ce sujet peux-tu préciser ce que tu entends pas "page
modifiée"
?).
Il peut y avoir plusieurs façons de procéder, éventuellement je verrai
bien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce qui
aurait
pour effet donc de mettre à jour la (les) feuilles du classeur à chaque
demande d'enregistrement initiée par l'utilisateur. Sinon je verrai bien
aussi une mise à jour à partir de l'évènement Workbook_SheetActivate
(ayant
donc lieu à chaque activation d'une feuille dans le classeur).
Il y a forcément d'autres idées à creuser.
Tu me dis ce que tu préfères...et puis tu attends aussi que d'autres
viennent y ajouter leur grain de sel.
Cordialement
Pascal



"thierry" a écrit dans le message de
news:
Papou,

merci de ta reponse, j'ai essayé mais ca ne marche pas ?? je l'ai copier
dans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne comprends pas!!
Aussi est ce qu'il est possible que le code update automatiquement chaque
page modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom de la
page sera changer par l'utilisateur

Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),

"DD/MM/YYYY") & vbLf &
Format(ThisWorkbook.BuiltinDocumentProperties("Last
Save Time"), "DD/MM/YYYY")
With Worksheets("sheet1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub


merci

thierry


"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de news:

Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les infos de
date


de création et date de modif, voici une façon de procéder avec une
macro
simple :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),
"DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last Save
Time"),


"DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter
(pdp
droit)
End With
End Sub

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ui$
merci pour votre aide mais je suis debutant en VBA donc comment je
peux
declarer une variable ?? comment aussi je peux remplacer dans le code
ci



dessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation et
date



de
modif en dessous l'une de l'autre ??

With ActiveSheet.Pagesetup
.LefFooter = Creadate
.RightFooter = Changedate
End With

Private Sub Workbook_Open()
Sheets(1).[A1] = "Date de création : le " _&
Format(ActiveWorkbook.BuiltinDocumentProperties(11),
_"dd/mm/yyyy")modif



False
End Sub





Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets(1).Range("A30").Value = "Dernière vraie modif le " &
Format(Date,



_"dd/mm/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub




merci d'avance

thierry



"thierry" a écrit dans le message de news:

Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons il
y




a
le code VBA qui permet de generer la date de creation et la date de
derniere revision (ecriture) mais le code inscrit les informations
dans




des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le pieds
de




page??

merci d'avance de votre contribution


Thierry






















Avatar
papou
Re
Dans ces conditions tu places ceci dans le code de ton Workbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
PiedDePage
End Sub

Puis ceci dans un module standard
Sub PiedDePage()
Dim LaMention As String
Dim f As Worksheet
LaMention = "Créé le " & Format(ThisWorkbook.BuiltinDocumentProperties _
("Creation Date"), "DD/MM/YYYY") _
& vbCrLf & "Modifié le " & Format(ThisWorkbook.BuiltinDocumentProperties _
("Last Save Time"), "DD/MM/YYYY")
For Each f In ThisWorkbook.Worksheets
With f.PageSetup
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
Next f
End Sub

Ceci aura donc pour effet de mentionner en pied de page gauche de chaque
feuille du classeur la date de création et la date de modification à chaque
demande d'impression.
Cordialement
Pascal

"thierry" a écrit dans le message de
news:%
PAscal

merci pour ton aide

PAr modifié je veux dire que dans mon template la feuille s'appel sheet1.
L'utilisateur a un moment ou a un autre changera le nom de cette page et
donc le code visual basic lui ne fonctionnera plus. Il faudrait que le
code

soit attaché a la page quelle que soit son nom
Mettre a jour le code a chaque fois que l'on sauvegarde et/ou que l'on
imprime me parais etre le plus complet.

Et oui je voudrais aussi faire la meme chose sous Word

Merci encore de ton aide

thierry
"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de news:
%
Re
Bon ben je vais essayer ;-)
1°) Pour que le code fourni fonctionne tu dois le placer dans un module
standard et non pas dans un évènement feuille ou classeur, donc tu vas
dans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page
blanche


ainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des
sauts


de lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refourni


ce code en y ajoutant un caractère forçant le retour à la ligne :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties _
("Creation Date"), "DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties _
("Last Save Time"), "DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
End Sub

2°) La chose se complique un peu puisque tu veux mettre en place cette
possibilité dans un modèle Excel (donc nom de feuille varaible) et
encore


un
peu plus puisque tu souhaites une mise à jour des infos à chaque page
modifiée (à ce sujet peux-tu préciser ce que tu entends pas "page
modifiée"
?).
Il peut y avoir plusieurs façons de procéder, éventuellement je verrai
bien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce qui
aurait
pour effet donc de mettre à jour la (les) feuilles du classeur à chaque
demande d'enregistrement initiée par l'utilisateur. Sinon je verrai bien
aussi une mise à jour à partir de l'évènement Workbook_SheetActivate
(ayant
donc lieu à chaque activation d'une feuille dans le classeur).
Il y a forcément d'autres idées à creuser.
Tu me dis ce que tu préfères...et puis tu attends aussi que d'autres
viennent y ajouter leur grain de sel.
Cordialement
Pascal



"thierry" a écrit dans le message de
news:
Papou,

merci de ta reponse, j'ai essayé mais ca ne marche pas ?? je l'ai
copier



dans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne comprends
pas!!



Aussi est ce qu'il est possible que le code update automatiquement
chaque



page modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom de
la



page sera changer par l'utilisateur

Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),

"DD/MM/YYYY") & vbLf &
Format(ThisWorkbook.BuiltinDocumentProperties("Last
Save Time"), "DD/MM/YYYY")
With Worksheets("sheet1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter
(pdp



droit)
End With
End Sub


merci

thierry


"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de
news:




Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les infos de
date


de création et date de modif, voici une façon de procéder avec une
macro
simple :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),
"DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last Save
Time"),


"DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup 'Modifier le nom de ta feuille
ici




.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter
(pdp
droit)
End With
End Sub

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ui$
merci pour votre aide mais je suis debutant en VBA donc comment je
peux
declarer une variable ?? comment aussi je peux remplacer dans le
code





ci
dessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation et
date



de
modif en dessous l'une de l'autre ??

With ActiveSheet.Pagesetup
.LefFooter = Creadate
.RightFooter = Changedate
End With

Private Sub Workbook_Open()
Sheets(1).[A1] = "Date de création : le " _&
Format(ActiveWorkbook.BuiltinDocumentProperties(11),
_"dd/mm/yyyy")modif



False
End Sub






Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets(1).Range("A30").Value = "Dernière vraie modif le " &
Format(Date,



_"dd/mm/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub




merci d'avance

thierry



"thierry" a écrit dans le message de news:

Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons
il






y
a
le code VBA qui permet de generer la date de creation et la date
de






derniere revision (ecriture) mais le code inscrit les informations
dans




des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le
pieds






de
page??

merci d'avance de votre contribution


Thierry



























Avatar
thierry
Pascal

Merci beaucoup ca marche a merveille sauf que la "date de creation" est la
date de creation du template (fevrier 2004) et non pas la date de creation
du document a partir du template donc la date du jour??
merci encore
thierry


"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de news:

Re
Dans ces conditions tu places ceci dans le code de ton Workbook :
Private Sub Workbook_BeforePrint(Cancel As Boolean)
PiedDePage
End Sub

Puis ceci dans un module standard
Sub PiedDePage()
Dim LaMention As String
Dim f As Worksheet
LaMention = "Créé le " & Format(ThisWorkbook.BuiltinDocumentProperties _
("Creation Date"), "DD/MM/YYYY") _
& vbCrLf & "Modifié le " & Format(ThisWorkbook.BuiltinDocumentProperties _
("Last Save Time"), "DD/MM/YYYY")
For Each f In ThisWorkbook.Worksheets
With f.PageSetup
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter (pdp
droit)
End With
Next f
End Sub

Ceci aura donc pour effet de mentionner en pied de page gauche de chaque
feuille du classeur la date de création et la date de modification à
chaque
demande d'impression.
Cordialement
Pascal

"thierry" a écrit dans le message de
news:%
PAscal

merci pour ton aide

PAr modifié je veux dire que dans mon template la feuille s'appel sheet1.
L'utilisateur a un moment ou a un autre changera le nom de cette page et
donc le code visual basic lui ne fonctionnera plus. Il faudrait que le
code

soit attaché a la page quelle que soit son nom
Mettre a jour le code a chaque fois que l'on sauvegarde et/ou que l'on
imprime me parais etre le plus complet.

Et oui je voudrais aussi faire la meme chose sous Word

Merci encore de ton aide

thierry
"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de news:
%
Re
Bon ben je vais essayer ;-)
1°) Pour que le code fourni fonctionne tu dois le placer dans un module
standard et non pas dans un évènement feuille ou classeur, donc tu vas
dans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page
blanche


ainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des
sauts


de lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refourni


ce code en y ajoutant un caractère forçant le retour à la ligne :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties _
("Creation Date"), "DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties _
("Last Save Time"), "DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter
(pdp
droit)
End With
End Sub

2°) La chose se complique un peu puisque tu veux mettre en place cette
possibilité dans un modèle Excel (donc nom de feuille varaible) et
encore


un
peu plus puisque tu souhaites une mise à jour des infos à chaque page
modifiée (à ce sujet peux-tu préciser ce que tu entends pas "page
modifiée"
?).
Il peut y avoir plusieurs façons de procéder, éventuellement je verrai
bien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce qui
aurait
pour effet donc de mettre à jour la (les) feuilles du classeur à chaque
demande d'enregistrement initiée par l'utilisateur. Sinon je verrai
bien
aussi une mise à jour à partir de l'évènement Workbook_SheetActivate
(ayant
donc lieu à chaque activation d'une feuille dans le classeur).
Il y a forcément d'autres idées à creuser.
Tu me dis ce que tu préfères...et puis tu attends aussi que d'autres
viennent y ajouter leur grain de sel.
Cordialement
Pascal



"thierry" a écrit dans le message de
news:
Papou,

merci de ta reponse, j'ai essayé mais ca ne marche pas ?? je l'ai
copier



dans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne comprends
pas!!



Aussi est ce qu'il est possible que le code update automatiquement
chaque



page modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom de
la



page sera changer par l'utilisateur

Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),

"DD/MM/YYYY") & vbLf &
Format(ThisWorkbook.BuiltinDocumentProperties("Last
Save Time"), "DD/MM/YYYY")
With Worksheets("sheet1").PageSetup 'Modifier le nom de ta feuille ici
.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter
(pdp



droit)
End With
End Sub


merci

thierry


"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de
news:




Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les infos
de
date


de création et date de modif, voici une façon de procéder avec une
macro
simple :
Sub PiedDePage()
Dim LaMention As String
LaMention = Format(ThisWorkbook.BuiltinDocumentProperties("Creation
Date"),
"DD/MM/YYYY") _
& vbLf & Format(ThisWorkbook.BuiltinDocumentProperties("Last Save
Time"),


"DD/MM/YYYY")
With Worksheets("Feuil1").PageSetup 'Modifier le nom de ta feuille
ici




.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou rightfooter
(pdp
droit)
End With
End Sub

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ui$
merci pour votre aide mais je suis debutant en VBA donc comment je
peux
declarer une variable ?? comment aussi je peux remplacer dans le
code





ci
dessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation
et
date



de
modif en dessous l'une de l'autre ??

With ActiveSheet.Pagesetup
.LefFooter = Creadate
.RightFooter = Changedate
End With

Private Sub Workbook_Open()
Sheets(1).[A1] = "Date de création : le " _&
Format(ActiveWorkbook.BuiltinDocumentProperties(11),
_"dd/mm/yyyy")modif



False
End Sub







Private Sub Workbook_BeforeClose(Cancel As Boolean)
If modif = True Then
Sheets(1).Range("A30").Value = "Dernière vraie modif le " &
Format(Date,



_"dd/mm/yyyy") & " " & Format(Time, "hh:mm")
End If
End Sub




merci d'avance

thierry



"thierry" a écrit dans le message de news:

Bonjour

sur excelabo http://www.excelabo.net/xl/fichiers.php#dateliaisons
il






y
a
le code VBA qui permet de generer la date de creation et la date
de






derniere revision (ecriture) mais le code inscrit les
informations
dans




des cellules.
Est ce qu'il est possible de faire la meme chose mais dans le
pieds






de
page??

merci d'avance de votre contribution


Thierry
































1 2