Date d'enregistrement dans l'entête

  • Initiateur de la discussion Initiateur de la discussion Pegase
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Pegase

XLDnaute Nouveau
Bojour à tous,

Dans une feuille excel, dans l'entête, je souhaite mettre la date du dernier enregistrement du classeur.
Comment faire

D'avance merci

Pégase
 
Bonjour,
En Vba, tu peux voir du côté de l'insruction suivant, ce qui suit est extrait de l'aide VBA 🙂

DateLastAccessed, propriété


Description

Renvoie la date et l'heure de dernier accès au fichier ou au dossier spécifié. Lecture seule.

Syntaxe

object.DateLastAccessed

L'argument object représente toujours un objet File ou Folder.

Remarques

Le code suivant illustre l'emploi de la propriété DateLastAccessed avec un fichier :

Sub ShowFileAccessInfo(specfichier)
Dim fs, f, s
Set fs = CreateObject('Scripting.FileSystemObject')
Set f = fs.GetFile(specfichier)
s = UCase(specfichier) & vbCrLf
s = s & 'Créé le : ' & f.DateCreated & vbCrLf
s = s & 'Dernier accès le : ' & f.DateLastAccessed & vbCrLf
s = s & 'Dernière modification le : ' & f.DateLastModified
MsgBox s, 0, 'Infos d'accès au fichier'
End Sub

Important Le fonctionnement de cette méthode dépend du système d'exploitation sous-jacent. Les informations de date ne sont pas renvoyées si le système d'exploitation ne le gère pas.

cordialement,

Bfr
 
Merci à vous 2 de vous intéresser à mon pb

JJ59 ce que tu me propose, je le connais mais ça donne la date d'impression par celle d'enregistrement

Bricofire : Je suis assez novice et je ne sais pas exploiter les infos que tu me donnes. De plus je ne cherche pas à afficher une MsgBox mais à placer l'info dans l'entête lors de l'impression.

Merci
Pégase
 
Bonjour Bricofire, Re Pegase


Remarque judicieuse.
Presonnellement je me sers de cette astuce parce que je conserve un imprimé. De ce fait un même document avec 2 dates diffèrentes
implique obligatoirement une modification.
dans ce cas date d'impression = date d'enregistrement.

Bon aprés-midi
 
re tout le monde,

Pegase, le msg box, tu t'en fiches, l'important est le moyen d'extraire la donnée voulue, après c'est simple d'en faire ce que l'on veut, il suffit d'utiliser CenterHeader en vba par exemple pour la centrer en heut de page. Regardes d'ailleurs dans l'aide vba à CenterHeader et cliques sur codes de format ensuit, c'est riche !

Bon là je vais bosser et je voyage ce soir, si besoin je te ferai une solution mais pas avant ce WE ou lundi, si personne est venu d'ici là 😉

à bientôt

Bfr
 
Bonjour pegase, JJ59

Pegase,
Dans le fichier joint, tu trouveras j’espère ce que tu veux, j’ai changé de méthode, je n’arrivais pas à la fiabilité voulue avec l’autre… 🙂

Le code est placé dans la procédure BeforePrint du classeur , je t’ai laissé en commentaire une variante sur la procédure Open, mais moins intéressante car tu peux sauvegarder un classeur en cours de saisie, sans le refermer et le rouvrir, ce qui ne changerait du coup pas l’information, mais si tu considères ça comme des sauvegardes de secondes zones… on peut faire comme on veut.
Je t’ai mis en commentaires dans le code aussi comment placer l’info à l’endroit de l’en-tête ou de pied voulu.
J’ai laissé un Msgbox en commentaire pour pouvoir faire joujou, ainsi qu’une ligne qui te permettrait de mettre la date de création aussi si besoin.

Bon courage,

Bfr [file name=DernierEnregistBfr.zip size=6767]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/DernierEnregistBfr.zip[/file]

Message édité par: bricofire, à: 11/07/2005 17:52
 

Pièces jointes

Merci beaucoup Bricofire, c'est ce que je cherchais.
Je l'ai même adapté avec la fonction BeforeSave à la place de BeforePrint ce qui correspond mieux à mon besoin.

En fait ce que je n'arrivais pas à faire c'est à transmettre une variable dans l'entête (comme tu le fait avec JSauv par exemple). Je pense que c'était un pb de déclaration de variable, il faut que je m'y repenche.

Une dernière question. Comment ne mettre que la date et non la date et l'heure. Je suppose que dans ActiveWorkbook.BuiltinDocumentProperties(12) il faut modifier l'argument 12 mais je n'ai pas trouvé les codes correspondants.
Je pensais mettre
JSauv = ActiveWorkbook.BuiltinDocumentProperties(12, 'dd/mm/yyyy')
mais ça ne fonctionne pas.

En tous cas merci encore de ta gentillesse et de t'être intéressé à mon pb.

Pégase
 
Bonne nuit le fil 🙂

Pegase, essayes comme ça :

JSauv = Format(ActiveWorkbook.BuiltinDocumentProperties(12), 'dd/mm/yyyy')

cordialement,

Bfr

PS, il ne faut pas toucher à 12 par contre, va voir l'aide VBA, tu verras pourquoi 😉

Message édité par: Bricofire, à: 12/07/2005 01:23
 
Re le fil, Pegase,

Ben normalement, si ça marche, je te join le fichier original modifié en conséquence, j'ai rajouté sur la feuil 1 une copie d'écran de l'aperçu avant impression chez moi.
Si tu n'as pas la même chose, ça pourrait venir de réglages de paramètres systèmes, sinon, je ne vois pas 🙂

bon courage,

Bfr [file name=DernierEnregistBfr_20050719123200.zip size=27645]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/DernierEnregistBfr_20050719123200.zip[/file]

Message édité par: bricofire, à: 19/07/2005 12:32
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
253
Réponses
8
Affichages
393
Retour