Date figée sans macro [Fermé]

Signaler
-
 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

4 réponses

Messages postés
17343
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 mai 2021
4 604
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
Merci

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez Comment Ça Marche

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
9790
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
15 mai 2021
2 112
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
Merci

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez Comment Ça Marche

CCM 65492 internautes nous ont dit merci ce mois-ci

Ç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 ?
Je ne connaissais pas la technique du "ctrl+ ; " c'est également une très très bonne astuce ! ????
Messages postés
17343
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
12 mai 2021
4 604
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

A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
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"