Date du jour par défaut modifiable

  • Initiateur de la discussion Initiateur de la discussion trouver
  • 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 !

T

trouver

Guest
Bonjour,

Dans un fichier que je prends pour modèle, je voudrais afficher la date du jour par défaut dans une cellule mais pouvoir ensuite l'écraser manuellement. J'ai pensé à taper la formule "=MAINTENANT()", quitte à l'écraser ensuite. Le problème, c'est que si la date me convient (cas général), je n'y touche pas, et le lendemain, la date est mise à jour, ce que je ne voulais pas !

Ex : ouverture du fichier : 22/04/09 dans la cellulle, OK ça me convient, et je veux conserver cette date
demain, j'ouvre ce même fichier et la date sera rafraîchie en 23/04/09, ce n'est plus bon !

J'ai bien une idée qui serait de faire un copier/coller spécial valeur de la celulle sur elle-même à l'enregistrement du fichier (qui peut être "enregistrer sous") afin d'écraser la formule, mais comment faire ? ou si vous avez mieux, je suis preneur...
 
Re : Date du jour par défaut modifiable

Re,

Lorsque tu es sur ta cellule, tu tapes simultanément sur les deux touches Ctrl et ;

Beaucoup moins long qu'un copier/collage spécial. C'est instantané mais il faut faire la démarche.
 
Re : Date du jour par défaut modifiable

... OK, mais je pars d'un fichier existant (le modèle) et la date doit s'afficher toute seule.
Je précise aussi que plusieurs utilisateurs différents peuvent partir de ce modèle. Ils ouvrent le modèle, font leur modif (éventuellement la date si elle ne leur convient pas), puis enregistrer sous un autre nom de fichier.
 
Re : Date du jour par défaut modifiable

Re,

Alors essaie avec :

Private Sub Workbook_Open()
x = Range("a1")
If x = "" Then Range("a1") = Now

End Sub

Alt F11 et tu colles ceci dans ThisWorkBook de ton classeur.

Modifier A1 par la cellule en question.
 
Dernière édition:
Re : Date du jour par défaut modifiable

Bonsoir trouver, jeanpierre,

compte-tenu des inconvénients des fonctions AUJOURDHUI et MAINTENANT (mises à jour automatiquement) et si la proposition du Ctrl+; de jeanpierre ne convient pas, il ne reste plus qu'une macro exécutée à l'ouverture du fichier, mais en y ajoutant un test qui évitera de ré-écrire la date à chaque ouverture par la suite. Ceci donnerait donc quelque chose comme:
Sub Workbook_Open()
If Sheets(1).Range("D2").Value = "" Then
Sheets(1).Range("D2").Value = Date
End If
End Sub


Modeste

Edit: plus court que moi et pourtant plus vite, jeanpierre
 
Re : Date du jour par défaut modifiable

Re, Bonsoir Modeste,

Oui, peut-être, mais à bien réfléchir (oui, ça m'arrive), cela ne va donner que la date de création initiale, donc on tourne en rond.

Aujourdhui() se remet à jour à chaque ouverture, nos codes, une seule fois à l'origine, donc la question et le souhait ne me semblent guères réalisables.

De quelle date s'agit-il ?

Bonne soirée.

Jean-Pierre
 
Re : Date du jour par défaut modifiable

Je réponds un peu tard, veuillez m'en excuser.

Oui, Jean-Pierre, c'est exactement ce que je cherchais, j'y ai d'ailleurs pensé... en descendant l'escalier tout à l'heure. Et c'est bien plus élégant qu'après l'enregistrer sous auquel j'avais songé au début. La solution est d'ailleurs plus simple encore, puisqu'il n'y a pas à tester si la cellule est vide ou non, elle doit avoir cette date, point.

Donc, en reprenant le code de Jean-Pierre, ça devient :

Private Sub Workbook_Open()
Range("a1") = Now
End Sub

La proposition de Modeste ne conduit-elle pas au même résultat ?
je veux dire :
Private Sub Workbook_Open()
Range("a1") = Date
End Sub
 
Re : Date du jour par défaut modifiable

Je saute du lit pour revenir sur ma simplifiction un peu trop hâtive

Car si on l'applique, la celulle sera à chaque fois écrasée dans le nouveau fichier...

Donc, il faut bien ajouter le test :
x = Range("a1")
If x = "" Then Range("a1") = Now

J'avais simplifié, car, pour le modèle, il importe peu que la cellule soit ou non renseignée, à l'ouverture on rafraîchit la cellule sans se poser de questions

En revanche, comme le Private Sub Workbook_Open()
est recopié à l'enregistrer sous dans le nouveau fichier, je suis obligé de recourir à cette astuce, qui est aussi une petite contrainte (la cellule doit être vide dans le modèle). L'idéal serait que la macro ne soit pas recopiée à l'enregistrer sous, puisqu'on n'en a plus besoin... En fait, on la recopie pour rien !
 
Re : Date du jour par défaut modifiable

Bonjour trouver, le forum,

Tu n'as que deux solutions, soit c'est la date d'enregistrement du modèle et la cellule doit être renseignée, soit c'est la date d'enregistrement du nouveau classeur et là, effectivement, sur le modèle la cellule doit être vide.

Pour ce qui est de supprimer les macros à l'enregistrement, je ne sais pas faire. De plus cela pose un problème car il faut connaître le nom qui sera attribué au nouveau classeur puisque cette macro sera, bien évidemment, dans le classeur modèle. Possible donc, mais pas gagné.

Bonne journée.

Jean-Pierre
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
538
Retour