DATE AUTOMATIQUE SANS MISE A JOUR!

norbrodwin Messages postés 14 Statut Membre -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voudrais insérer dans une cellule excel, une date figée, automatiquement sans qu'elle soit mise à jour à chaque ouverture du fichier.

Cette date doit correspondre à la date de création du fichier (ou de la copie).

Bien entendu cette date ne correspond pas à "=aujourd'hui()" :)

Merci beaucoup pour votre aide par avance.

6 réponses

  1. Chris 94 Messages postés 1937 Date d'inscription   Statut Modérateur Dernière intervention   7 536
     
    Bonjour,

    Ce n'est pas du tout hi tech, ni geek, comme solution... Personnellement, je saisirais cette date et tout autre paramètre invariant "à la main" lors de la création du fichier ou de sa copie.
    0
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Ouvrir l'éditeur VBA (Alt + F11)
    Selectiuonner This Worbook dans l'arborescence et dans la page blanche copier coller ce code qui enregistrera dans une cellule la date à chaque sauvegarde

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    sheets("Feuil1").Range("A1")= Date  'met la date du jour en A1 de la Feuil1 ADAPTER reference cellule et nom de la feuille
    End Sub


    Cflmnt
    0
  3. norbrodwin Messages postés 14 Statut Membre
     
    Bonjour,
    Merci beaucoup pour la reponse.
    Une petite précision :
    La date que je voudrais inserer automatiquement est celle de la création du fichier et (ou du changement de nom de fichier quand on fait enregistrer sous) et non pas la date apres chaque modification de fichier (sauvegarde).

    Merci d'avance pour votre aide.
    0
  4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Lors de la création du fichier tu mets la date manuellement et pour qu'elle change à chaque Enregistrer sous la macro dans This Workbook sera :
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI=True then sheets("Feuil1").Range("A1")= Date  'met la date du jour en A1 de la Feuil1 ADAPTER reference cellule et nom de la feuille
    End Sub


    Cdlmnt
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. norbrodwin Messages postés 14 Statut Membre
     
    Bonjour,
    L'idée est que la date demeure inchangeable :

    J'ai un fichier type (modele) qui est utilisé pour chaque nouvelle entrée de commande.
    Ex : le 01/12 j'ai une commande à saisir
    -j'ouvre le model
    -je saisis ma commande
    -la date doit s'implementer automatiquement (je suis confornter à des oublis systematique de saisie de date manuellement)
    -je fais un enregistrer sous (pour garder le model type vierge)
    -le 02/12 j'accède à nouveau à ce meme fichier de la nouvelle commande du 01/12 (pour x raison : consultation, modification ...)
    -la date ne doit pas etre modifiee, meme si je fais enregistrer en fermant le fichier.

    J'espere avoir été clair avec cet exemple :)

    J'espere avoir une solution pour me resoudre ce probleme :(
    0
  7. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Effectivement ce n'est pas la même problématique !

    La procédure en fait doit être :
    Si on ouvre le fichier modèle la date du jour doit s'inscrire automatiquement
    A la fermeture du nouveau fichier la date reste normalement inscrite
    Si on ouvre le nouveau fichier la date doit rester inchangée
    donc il faut jouer à l'ouverture du classeur en fonction du nom du classeur

    La macro n'est pas BeforeSave mais Open (toujours à mettre dans This workbook)

    Private Sub Workbook_Open()
    If ThisWorkbook.Name = "Modèle.xlsm" Then Sheets("Feuil1").Range("A1") = Date
    End Sub
    


    Adapter nom du fichier avec son extension, nom de la feuille et référence cellule

    Cdlmnt
    0