Date figée sans macro

Jaune -  
 Diogene63 -
Bonjour,

Je viens de lire les posts, ils sont très intéressants. Par co tre ils ne correspondent pas à ce que je souhaite faire. Je m'explique:
Je souhaiterais que la date de saisie se mette automatiquement dans la colonne À lorsque je rentre une donnée dans la colonne B.
Comme les autres personnes, les formules "aujourd'hui", "maintenant"... Me donnent la date mais elle les met à jour à chaque nouvelle ouverture.
Le code VBA j'ai réutilisé ce que j'ai trouvé, pour le coup ça fonctionne. CEPENDANT, dès que je rentre la macro, je ne peux plus faire de retour en arrière...ce qui ne me conviens pas.
Y aurait-il un moyen de mettre une date automatiquement, quelle se figé à la date de saisie, et que l'on puisse revenir en arrière si on a fait une faute ou effacé une donnée involontairement ?

Merci

Configuration: Android / Chrome 80.0.3987.132
A voir également:

4 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

question récurrente, à part manuellement cliquer sur Ctrl et ; ou macro il reste peu de possibilité

en VBA on peut faire une boule pour tester si la cellule est date et faire un copier/collage spécial/valeur
1
ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonjour à tous les deux

essaies ceci
la date en B4, l'entrée en C4
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C4")) Is Nothing Then
  If Not IsDate(Range("B4").Value) Then Range("B4").Value = Date
End If
End Sub

mais le plus simple est un Ctrl + ; comme dit Mike

Cdlmnt
1
Jaune
 
Ça fonctionne avec les cellules, c'est top, merci !
Par contre comment je peux l'adapter non pas juste à la cellule B4 pour C4, mais à toutes les cellules de la colonne B pour les cellules de la colonne C ?
0
Jaune
 
Je ne connaissais pas la technique du "ctrl+ ; " c'est également une très très bonne astuce ! ????
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

en modifiant ces deux lignes comme cela pour tester les cellules de C2 à C50 à adapter éventuellement en C:C pour traiter toute la colonne
mais il y a plusieurs façons d'écrire le code

If Not Intersect(Target, Range("C2:C50")) Is Nothing Then
If Not IsDate(Target.Offset(0, -1).Value) Then Target.Offset(0, -1).Value = Date

0
Diogene63
 
Bonjour,

Fonction date de première saisie dans une cellule avec la formule contenant une référence circulaire
Avec D1 cellule saisie et D2 cellule contenant la formule de date de saisie suivante :
=SI(D1="";"";SI(D2<>"";D2;AUJOURDHUI()))

Il faut autoriser les calculs itératifs dans :
Fichier, options, formules en cochant la case "Activer le calcul itératif"
0