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
codesoit 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
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des
sautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refournice 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
encoreun
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
copierdans 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
chaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom
de
lapage 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
(pdpdroit)
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
datede 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
codecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation
et
datedemodif 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")modifFalse
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
ilya
le code VBA qui permet de generer la date de creation et la
date
dederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais dans le
piedsdepage??
merci d'avance de votre contribution
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:
u2kShYZlEHA.2380@TK2MSFTNGP14.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23zogOTZlEHA.3968@TK2MSFTNGP11.phx.gbl...
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:
%23BWNShYlEHA.3712@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:u8Az5CYlEHA.948@TK2MSFTNGP12.phx.gbl...
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:
uLSMixXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:ui$XmnXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:
OLYOY8WlEHA.644@tk2msftngp13.phx.gbl...
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
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
codesoit 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
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des
sautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refournice 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
encoreun
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
copierdans 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
chaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom
de
lapage 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
(pdpdroit)
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
datede 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
codecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de creation
et
datedemodif 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")modifFalse
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
ilya
le code VBA qui permet de generer la date de creation et la
date
dederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais dans le
piedsdepage??
merci d'avance de votre contribution
Thierry
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
etdonc le code visual basic lui ne fonctionnera plus. Il faudrait que le
codesoit 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
modulestandard et non pas dans un évènement feuille ou classeur, donc tu
vasdans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des
sautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refournice 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
cettepossibilité dans un modèle Excel (donc nom de feuille varaible) et
encoreun
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
verraibien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce qui
aurait
pour effet donc de mettre à jour la (les) feuilles du classeur à
chaquedemande 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
copierdans 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
chaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom
delapage 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
(pdpdroit)
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
datede 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
jepeux
declarer une variable ?? comment aussi je peux remplacer dans le
codecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de
creation
et
datedemodif 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")modifFalse
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#dateliaisonsilya
le code VBA qui permet de generer la date de creation et la
datedederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais dans le
piedsdepage??
merci d'avance de votre contribution
Thierry
Ben oui effectivement dans ces conditions utilise la date du jour (Date)
Cordialement
Pascal
"thierry" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23OGMi0ZlEHA.324@TK2MSFTNGP11.phx.gbl...
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:
u2kShYZlEHA.2380@TK2MSFTNGP14.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23zogOTZlEHA.3968@TK2MSFTNGP11.phx.gbl...
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:
%23BWNShYlEHA.3712@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:u8Az5CYlEHA.948@TK2MSFTNGP12.phx.gbl...
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:
uLSMixXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:ui$XmnXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:
OLYOY8WlEHA.644@tk2msftngp13.phx.gbl...
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
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
etdonc le code visual basic lui ne fonctionnera plus. Il faudrait que le
codesoit 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
modulestandard et non pas dans un évènement feuille ou classeur, donc tu
vasdans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter des
sautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refournice 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
cettepossibilité dans un modèle Excel (donc nom de feuille varaible) et
encoreun
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
verraibien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce qui
aurait
pour effet donc de mettre à jour la (les) feuilles du classeur à
chaquedemande 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
copierdans 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
chaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le nom
delapage 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
(pdpdroit)
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
datede 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
jepeux
declarer une variable ?? comment aussi je peux remplacer dans le
codecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de
creation
et
datedemodif 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")modifFalse
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#dateliaisonsilya
le code VBA qui permet de generer la date de creation et la
datedederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais dans le
piedsdepage??
merci d'avance de votre contribution
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
etdonc le code visual basic lui ne fonctionnera plus. Il faudrait que
le
codesoit 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
modulestandard et non pas dans un évènement feuille ou classeur, donc tu
vasdans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter
des
sautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refournice 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
cettepossibilité dans un modèle Excel (donc nom de feuille varaible) et
encoreun
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
verraibien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce
qui
aurait
pour effet donc de mettre à jour la (les) feuilles du classeur à
chaquedemande 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
copierdans 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
chaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le
nom
delapage 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
(pdpdroit)
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
datede 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
jepeux
declarer une variable ?? comment aussi je peux remplacer dans
le
codecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de
creation
et
datedemodif 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")modifFalse
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#dateliaisonsilya
le code VBA qui permet de generer la date de creation et la
datedederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais dans
le
piedsdepage??
merci d'avance de votre contribution
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:
ukv392ZlEHA.3632@TK2MSFTNGP09.phx.gbl...
Ben oui effectivement dans ces conditions utilise la date du jour (Date)
Cordialement
Pascal
"thierry" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23OGMi0ZlEHA.324@TK2MSFTNGP11.phx.gbl...
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:
u2kShYZlEHA.2380@TK2MSFTNGP14.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23zogOTZlEHA.3968@TK2MSFTNGP11.phx.gbl...
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:
%23BWNShYlEHA.3712@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:u8Az5CYlEHA.948@TK2MSFTNGP12.phx.gbl...
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:
uLSMixXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:ui$XmnXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:
OLYOY8WlEHA.644@tk2msftngp13.phx.gbl...
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
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
etdonc le code visual basic lui ne fonctionnera plus. Il faudrait que
le
codesoit 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
modulestandard et non pas dans un évènement feuille ou classeur, donc tu
vasdans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la page
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter
des
sautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refournice 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
cettepossibilité dans un modèle Excel (donc nom de feuille varaible) et
encoreun
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
verraibien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce
qui
aurait
pour effet donc de mettre à jour la (les) feuilles du classeur à
chaquedemande 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
copierdans 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
chaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le
nom
delapage 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
(pdpdroit)
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
datede 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
jepeux
declarer une variable ?? comment aussi je peux remplacer dans
le
codecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de
creation
et
datedemodif 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")modifFalse
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#dateliaisonsilya
le code VBA qui permet de generer la date de creation et la
datedederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais dans
le
piedsdepage??
merci d'avance de votre contribution
Thierry
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
unretour 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
pageetdonc le code visual basic lui ne fonctionnera plus. Il faudrait que
lecodesoit 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'onimprime 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
modulestandard et non pas dans un évènement feuille ou classeur, donc
tu
vasdans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la
page
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter
dessautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refournice 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
cettepossibilité dans un modèle Excel (donc nom de feuille varaible)
et
encoreun
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
verraibien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce
quiaurait
pour effet donc de mettre à jour la (les) feuilles du classeur à
chaquedemande d'enregistrement initiée par l'utilisateur. Sinon je
verraibien
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'autresviennent 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
copierdans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne
comprendspas!!Aussi est ce qu'il est possible que le code update
automatiquementchaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le
nomdelapage 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
feuilleici.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou
rightfooter(pdpdroit)
End With
End Sub
merci
thierry
"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message
denews:Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les
infos
de
datede 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
SaveTime"),"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
commentjepeux
declarer une variable ?? comment aussi je peux remplacer dans
lecodecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de
creation
et
datedemodif 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")modifFalse
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#dateliaisonsilya
le code VBA qui permet de generer la date de creation et la
datedederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais dans
lepiedsdepage??
merci d'avance de votre contribution
Thierry
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:ONY$X9ZlEHA.3896@tk2msftngp13.phx.gbl...
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:
ukv392ZlEHA.3632@TK2MSFTNGP09.phx.gbl...
Ben oui effectivement dans ces conditions utilise la date du jour
(Date)
Cordialement
Pascal
"thierry" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23OGMi0ZlEHA.324@TK2MSFTNGP11.phx.gbl...
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:
u2kShYZlEHA.2380@TK2MSFTNGP14.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23zogOTZlEHA.3968@TK2MSFTNGP11.phx.gbl...
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:
%23BWNShYlEHA.3712@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:u8Az5CYlEHA.948@TK2MSFTNGP12.phx.gbl...
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:
uLSMixXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:ui$XmnXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:
OLYOY8WlEHA.644@tk2msftngp13.phx.gbl...
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
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
unretour 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
pageetdonc le code visual basic lui ne fonctionnera plus. Il faudrait que
lecodesoit 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'onimprime 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
modulestandard et non pas dans un évènement feuille ou classeur, donc
tu
vasdans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la
page
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait comporter
dessautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je te
refournice 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
cettepossibilité dans un modèle Excel (donc nom de feuille varaible)
et
encoreun
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
verraibien
l'utilisation de l'évènement BeforeSave (associé au classeur) ce
quiaurait
pour effet donc de mettre à jour la (les) feuilles du classeur à
chaquedemande d'enregistrement initiée par l'utilisateur. Sinon je
verraibien
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'autresviennent 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
copierdans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne
comprendspas!!Aussi est ce qu'il est possible que le code update
automatiquementchaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le
nomdelapage 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
feuilleici.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou
rightfooter(pdpdroit)
End With
End Sub
merci
thierry
"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message
denews:Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les
infos
de
datede 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
SaveTime"),"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
commentjepeux
declarer une variable ?? comment aussi je peux remplacer dans
lecodecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de
creation
et
datedemodif 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")modifFalse
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#dateliaisonsilya
le code VBA qui permet de generer la date de creation et la
datedederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais dans
lepiedsdepage??
merci d'avance de votre contribution
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
unretour 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
pageetdonc le code visual basic lui ne fonctionnera plus. Il faudrait
que
lecodesoit 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'onimprime 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
modulestandard et non pas dans un évènement feuille ou classeur, donc
tu
vasdans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la
page
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait
comporter
dessautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je
te
refournice 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
cettepossibilité dans un modèle Excel (donc nom de feuille varaible)
et
encoreun
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
verraibien
l'utilisation de l'évènement BeforeSave (associé au classeur)
ce
quiaurait
pour effet donc de mettre à jour la (les) feuilles du classeur
à
chaquedemande d'enregistrement initiée par l'utilisateur. Sinon je
verraibien
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'autresviennent 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
copierdans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne
comprendspas!!Aussi est ce qu'il est possible que le code update
automatiquementchaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le
nomdelapage 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
feuilleici.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou
rightfooter(pdpdroit)
End With
End Sub
merci
thierry
"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le
message
denews:Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les
infos
de
datede 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
SaveTime"),"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
commentjepeux
declarer une variable ?? comment aussi je peux remplacer
dans
lecodecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de
creation
et
datedemodif 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")modifFalse
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#dateliaisonsilya
le code VBA qui permet de generer la date de creation et
la
datedederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais
dans
lepiedsdepage??
merci d'avance de votre contribution
Thierry
Papou et bien voila tout est reglé merci encore
Cordialement
thierry
"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de news:
eHbaFBalEHA.3912@TK2MSFTNGP12.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:ONY$X9ZlEHA.3896@tk2msftngp13.phx.gbl...
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:
ukv392ZlEHA.3632@TK2MSFTNGP09.phx.gbl...
Ben oui effectivement dans ces conditions utilise la date du jour
(Date)
Cordialement
Pascal
"thierry" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23OGMi0ZlEHA.324@TK2MSFTNGP11.phx.gbl...
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:
u2kShYZlEHA.2380@TK2MSFTNGP14.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:%23zogOTZlEHA.3968@TK2MSFTNGP11.phx.gbl...
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:
%23BWNShYlEHA.3712@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:u8Az5CYlEHA.948@TK2MSFTNGP12.phx.gbl...
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:
uLSMixXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message de
news:ui$XmnXlEHA.748@TK2MSFTNGP15.phx.gbl...
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" <tschweitzer@yahoo.com> a écrit dans le message
de
news:
OLYOY8WlEHA.644@tk2msftngp13.phx.gbl...
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
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
unretour 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
pageetdonc le code visual basic lui ne fonctionnera plus. Il faudrait
que
lecodesoit 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'onimprime 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
modulestandard et non pas dans un évènement feuille ou classeur, donc
tu
vasdans
l'éditeur VBA (Alt + F11) puis menu Insertion Module, dans la
page
blancheainsi crée, tu places le code fourni.
Attention toutefois : le code que j'ai envoyé pourrait
comporter
dessautsde lignes et pouvant provoquer l'erreur donc pour l'éviter, je
te
refournice 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
cettepossibilité dans un modèle Excel (donc nom de feuille varaible)
et
encoreun
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
verraibien
l'utilisation de l'évènement BeforeSave (associé au classeur)
ce
quiaurait
pour effet donc de mettre à jour la (les) feuilles du classeur
à
chaquedemande d'enregistrement initiée par l'utilisateur. Sinon je
verraibien
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'autresviennent 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
copierdans myworkbook, rien? dans my worksheet rien non plus.
J'ail lancer la macro manuellement rien non plus ? Je ne
comprendspas!!Aussi est ce qu'il est possible que le code update
automatiquementchaquepage modifié ?? quelque soit le nom.
Je desire mettre cette macro dans un template donc bien sur le
nomdelapage 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
feuilleici.LeftFooter = LaMention 'ou centerfooter(pdp milieu) ou
rightfooter(pdpdroit)
End With
End Sub
merci
thierry
"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le
message
denews:Bonjour
S'il s'agit toujours pour toi d'inscrire en pied de page les
infos
de
datede 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
SaveTime"),"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
commentjepeux
declarer une variable ?? comment aussi je peux remplacer
dans
lecodecidessous A1 et A30
par une variable de mon choix?? et comment avoir date de
creation
et
datedemodif 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")modifFalse
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#dateliaisonsilya
le code VBA qui permet de generer la date de creation et
la
datedederniere revision (ecriture) mais le code inscrit les
informations
dansdes cellules.
Est ce qu'il est possible de faire la meme chose mais
dans
lepiedsdepage??
merci d'avance de votre contribution
Thierry