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

5 réponses

1 2
Avatar
papou
Ben oui effectivement dans ces conditions utilise la date du jour (Date)
Cordialement
Pascal
"thierry" a écrit dans le message de
news:%
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





































Avatar
thierry
Pascal
Ce que je veux dire:
Mon fichier est un template, l'utilisqteru qui veux creer un nouveau
document ouvre excel, ouvre les templates et en choisi un.
Mon probleme c'est que la date de creation est la date du template, alors
que cela devrais etre la date de la premiere sauvegarde du template en
fichier excel sous un autre nom. J'espere que je suis plus claire

Une petite derniere le code
& vbCrLf &
donne le retour a la ligne apparement, le probleme c'est que cela me fait un
retour a ligne + saut de ligne
C'est possible de corriger ca ??

merci encore

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

Ben oui effectivement dans ces conditions utilise la date du jour (Date)
Cordialement
Pascal
"thierry" a écrit dans le message de
news:%
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










































Avatar
papou
Ben oui tu es clair ;-)
Donc comme dit précedement, tu peux utiliser Date en tant que Date de
création puisqu'effectivement une fois le modèle appelé, le document est
généré.
Donc tu changes la partie:
****
LaMention = "Créé le " & Format(ThisWorkbook.BuiltinDocumentProperties
_
("Creation Date"), "DD/MM/YYYY")
****
Par :
****
LaMention = "Créé le " & Format(Date,"DD/MM/YYYY")
****
Sinon Vblf au lieu de Vbcrlf

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ONY$
Pascal
Ce que je veux dire:
Mon fichier est un template, l'utilisqteru qui veux creer un nouveau
document ouvre excel, ouvre les templates et en choisi un.
Mon probleme c'est que la date de creation est la date du template, alors
que cela devrais etre la date de la premiere sauvegarde du template en
fichier excel sous un autre nom. J'espere que je suis plus claire

Une petite derniere le code
& vbCrLf &
donne le retour a la ligne apparement, le probleme c'est que cela me fait
un

retour a ligne + saut de ligne
C'est possible de corriger ca ??

merci encore

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

Ben oui effectivement dans ces conditions utilise la date du jour (Date)
Cordialement
Pascal
"thierry" a écrit dans le message de
news:%
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















































Avatar
thierry
Papou et bien voila tout est reglé merci encore

Cordialement

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

Ben oui tu es clair ;-)
Donc comme dit précedement, tu peux utiliser Date en tant que Date de
création puisqu'effectivement une fois le modèle appelé, le document est
généré.
Donc tu changes la partie:
****
LaMention = "Créé le " & Format(ThisWorkbook.BuiltinDocumentProperties
_
("Creation Date"), "DD/MM/YYYY")
****
Par :
****
LaMention = "Créé le " & Format(Date,"DD/MM/YYYY")
****
Sinon Vblf au lieu de Vbcrlf

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ONY$
Pascal
Ce que je veux dire:
Mon fichier est un template, l'utilisqteru qui veux creer un nouveau
document ouvre excel, ouvre les templates et en choisi un.
Mon probleme c'est que la date de creation est la date du template, alors
que cela devrais etre la date de la premiere sauvegarde du template en
fichier excel sous un autre nom. J'espere que je suis plus claire

Une petite derniere le code
& vbCrLf &
donne le retour a la ligne apparement, le probleme c'est que cela me fait
un

retour a ligne + saut de ligne
C'est possible de corriger ca ??

merci encore

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

Ben oui effectivement dans ces conditions utilise la date du jour
(Date)
Cordialement
Pascal
"thierry" a écrit dans le message de
news:%
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




















































Avatar
papou
Tant mieux ;-)
Cordialement
Pascal

"thierry" a écrit dans le message de
news:
Papou et bien voila tout est reglé merci encore

Cordialement

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

Ben oui tu es clair ;-)
Donc comme dit précedement, tu peux utiliser Date en tant que Date de
création puisqu'effectivement une fois le modèle appelé, le document est
généré.
Donc tu changes la partie:
****
LaMention = "Créé le " & Format(ThisWorkbook.BuiltinDocumentProperties
_
("Creation Date"), "DD/MM/YYYY")
****
Par :
****
LaMention = "Créé le " & Format(Date,"DD/MM/YYYY")
****
Sinon Vblf au lieu de Vbcrlf

Cordialement
Pascal

"thierry" a écrit dans le message de
news:ONY$
Pascal
Ce que je veux dire:
Mon fichier est un template, l'utilisqteru qui veux creer un nouveau
document ouvre excel, ouvre les templates et en choisi un.
Mon probleme c'est que la date de creation est la date du template,
alors



que cela devrais etre la date de la premiere sauvegarde du template en
fichier excel sous un autre nom. J'espere que je suis plus claire

Une petite derniere le code
& vbCrLf &
donne le retour a la ligne apparement, le probleme c'est que cela me
fait



un
retour a ligne + saut de ligne
C'est possible de corriger ca ??

merci encore

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




Ben oui effectivement dans ces conditions utilise la date du jour
(Date)
Cordialement
Pascal
"thierry" a écrit dans le message de
news:%
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