Garder la date fonction AUJOURDHUI

Bonjour a tous

j'ai un fichier ci joint rempli une première fois qui avec un bouton enregistrer génère une feuille avec le prénom et le nom

MAIS si je le réouvre le lendemain ou plus tard la date en B1 change vu qu il y a la fonction AUJOURDHUI

Ma question est simple :

est il possible a l'enregistrement de supprimer la fonction aujourd’hui ds B1 et de garder la date ??

merci d 'avance

CDT

FB

Bonjour,

Sub enregistrer()
Range("B1").Value = Now
ThisWorkbook.SaveAs Range("B6") & "_" & Range("F6")
End Sub

à tester...

merci

mais j obtiens une erreur 400 quand je clique sur enregistrer ???

je veux "transformer" la formule "aujourdhui" ds la cellule B1 en date permanente

cad que le jour ou je renseigne et j'enregistre la premiere fois cette cellule aura a aprtir de ce moment la date d enregistrment

merci pour vos lumieres

Bonjour,

Une petite manip qui permets de garder une date sans jamais être modifier lors de la réouverture du fichier excel.

 CRTL ; 

Cordialement

Bonjour

Tu peux aussi ne rien mettre dans la cellule B1 et modifier ta macro comme cela.

Sub enregistrer()
Range("B1").Value = Format(Now, "dd-mmm-yy")

ThisWorkbook.SaveAs Range("B6") & "_" & Range("F6")

End Sub

et après avoir cliqué sur ton bouton enregistrer, la date se mettra automatiquement

fb44 a écrit :

mais j obtiens une erreur 400 quand je clique sur enregistrer ???

J'ai modifié

Sub enregistrer()
    Range("B1").Value = Now
    ThisWorkbook.SaveAs Range("B6") & "_" & Range("F6") & ".xlsm"
End Sub

Ce qui est curieux, c'est que l'erreur provenait de l'extension manquante dans ton premier post !

Bonjour,

Un exemple à étudier.

Il n'est peut pas utile de conserver le bouton, comme il n'est peut-être pas utile d'enregistrer en xlsm.

Cdlt.

Option Explicit
' Enregistrement dans le dossier du classeur.
Public Sub Enregistrer()
Dim strPath As String, strFilename As String
Dim n As Long
    strPath = ActiveWorkbook.Path & Application.PathSeparator
    strFilename = [B6] & "_" & [F6] & ".xlsx"
    n = Application.SheetsInNewWorkbook
    Application.SheetsInNewWorkbook = 1
    ActiveSheet.Copy
    With ActiveWorkbook.Worksheets(1)
        .[B1].Value = Date
        .Range("E1:F1").Validation.Delete
        .Shapes.Range(Array("Button 3")).Delete
    End With
    Application.DisplayAlerts = False
    With ActiveWorkbook
        .SaveAs Filename:=strPath & strFilename, FileFormat:=51
        .Close savechanges:=False
    End With
    Application.SheetsInNewWorkbook = n
End Sub
Jean-Eric a écrit :

Il n'est peut pas utile de conserver le bouton, comme il n'est peut-être pas utile d'enregistrer en xlsm.

Bonne remarque, je m'étais posé cette question.

Tout dépend de ce que l'on veut faire s'il y a des modifications ultérieures !

@fb44 de répondre ...

Jean-Eric a écrit :

Bonjour,

Un exemple à étudier.

Il n'est peut pas utile de conserver le bouton, comme il n'est peut-être pas utile d'enregistrer en xlsm.

Cdlt.

Option Explicit
' Enregistrement dans le dossier du classeur.
Public Sub Enregistrer()
Dim strPath As String, strFilename As String
Dim n As Long
    strPath = ActiveWorkbook.Path & Application.PathSeparator
    strFilename = [B6] & "_" & [F6] & ".xlsx"
    n = Application.SheetsInNewWorkbook
    Application.SheetsInNewWorkbook = 1
    ActiveSheet.Copy
    With ActiveWorkbook.Worksheets(1)
        .[B1].Value = Date
        .Range("E1:F1").Validation.Delete
        .Shapes.Range(Array("Button 3")).Delete
    End With
    Application.DisplayAlerts = False
    With ActiveWorkbook
        .SaveAs Filename:=strPath & strFilename, FileFormat:=51
        .Close savechanges:=False
    End With
    Application.SheetsInNewWorkbook = n
End Sub

en insérant cette macro j obtiens erreur 400 ?

Bonjour,

As-tu une ligne particulière surlignée en jaune dans le code suite au message d'erreur ?

Cdlt.

non pas de surlignage jaune ???


excel pro 2013

RE,

Je n'ai aucun problème avec le fichier envoyé précédemment.

Assure toi que des caractères interdits ne soient pas dans le nom et prénom.

Vérifie le nom du bouton (3 dans ton exemple).

Le classeur est normalement enregistré dans le répertoire du classeur actif.

Option Explicit
' Enregistrement dans le dossier du classeur.
Public Sub Enregistrer()
'Initialisation des variables
Dim strPath As String, strFilename As String
Dim n As Long
    'Chemin du classeur actif
    strPath = ActiveWorkbook.Path & Application.PathSeparator
    'Nom du classeur
    strFilename = [B6] & "_" & [F6] & ".xlsx"
    'Mémorisation du nombre de feuilles par défaut dans le classeur
    n = Application.SheetsInNewWorkbook
    Application.SheetsInNewWorkbook = 1
    ActiveSheet.Copy
    With ActiveWorkbook.Worksheets(1)
        'Valeur date du jour
        .[B1].Value = Date
        'Suppression liste déroulante de choix
        .Range("E1:F1").Validation.Delete
        'Suppression bouton
        .Shapes.Range(Array("Button 3")).Delete
    End With
    Application.DisplayAlerts = False
    'Enregistrement nouveau classeur
    With ActiveWorkbook
        .SaveAs Filename:=strPath & strFilename, FileFormat:=51
        .Close savechanges:=False
    End With
    'RAZ nombre de feuilles nouveau classeur
    Application.SheetsInNewWorkbook = n
End Sub
Rechercher des sujets similaires à "garder date fonction aujourdhui"