Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

fonction maintenant()

  • Initiateur de la discussion Céline
  • Date de début
C

Céline

Guest
Bonjour le forum !

Je souhaite afficher la date et l'heure systeme dans la seconde colonne dès que je saisie quelque chose dans la 1ere.
Jusque là tout va bien !

Dans ma colonne B2 voici mon code =SI(A2<>"";MAINTENANT();"")

mais le problème, et oui y en a un, c'est quand lorsque l'heure ou la date change, ça me change toutes les date/heure de ma colonne.

J'aimerais figer cette date/heure une fois pour toute, dès qu'elle est renseignée.

Si je ne suis pas assez clair, vous pouvez tester mon fichier excel:
saisisser la cellule A2, puis attender que l'heure systeme change de minute et saisisser la celllule A3 et voilà !!!

Merci d'avance à ceux qui pourront me donner un petit coup de main.
A+++

Céline
 

Pièces jointes

  • fonction_maintenant_celine.zip
    1.8 KB · Affichages: 31
  • fonction_maintenant_celine.zip
    1.8 KB · Affichages: 31
  • fonction_maintenant_celine.zip
    1.8 KB · Affichages: 28
C

Chris

Guest
Bonjour
Il faut soit faire un copier collage spécial valeur de ta celule B2 mais elle aura déjà changé de valeur (quelques secondes) le temps de faire la manip.
Sinon il faut du VBA événementiel associé à la feuille pour écrire l'heure dans la ligne correspondante chaque fois qu'une cellule de la colonne A change.

Chris
 
J

jp

Guest
salut

voila pour toi : a adapter suivant ta feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [A1:A8]) Is Nothing Then
Target.Offset(0, 1) = Now
End If

end sub

a placer dans ta feuille et dans change

a+

jp
 
C

Céline

Guest
Merci à tous les 2, mais je vais avoir besoin d'un peu d'aide pour mettre en place ton code car je ne connais pas bien VBA.

Je sais créer une macro en faisant "nouvelle macro" et en enregistrant la macro.

Ensuite je modifie le code avec le code de jp, est ce que cela pose problème ?

Et pour modifier le code par rapport à mes besoins, j'aurais besoin de connaître sa signification.
Merci pour les explications et pour votre aide.

A+

Céline
 
R

Robert

Guest
Salut Céline, Chris, JP, le forum,

JP est trop rapide... Chapeau ! Comme je me suis cassé la tête aussi je t'envoie quand même. C'est exactement le plan de JP (j'ai rectifié mes erreurs grâce à lui) avec un tout petit plus qui efface la date si tu effaces un code Barre (en version Full Comment comme dit Thierry).

Private Sub Worksheet_Change(ByVal Target As Range) 'à chaque modification
'n'agit que si la cellule active (Target) est dans la colonne A
'si l'intersection plage(A2:A65536) et Target n'est pas vide
If Not Application.Intersect(Target, Range("A2:A65536")) Is Nothing Then
'écrit l'équivalent de MAINTENANT() mais figé dans la cellule adjacente
Target.Offset(0, 1).Value = Now
'si tu effaces le code barre, efface aussi la date
If Target.Value = "" Then Target.Offset(0, 1).Value = ""
End If
End Sub
 
R

Robert

Guest
Re à tous,

J'avais pas actualiser donc...

En pièce jointe ton fichier. Pour voir les codes, clique du bouton droit sur la Feuil1 et l'option [Visualiser les codes]. [Alt]+[F11] pour revenir au fichier Excel.

À plus,

Robert
 

Pièces jointes

  • fonction_maintenant_celine.zip
    7.8 KB · Affichages: 59
  • fonction_maintenant_celine.zip
    7.8 KB · Affichages: 66
  • fonction_maintenant_celine.zip
    7.8 KB · Affichages: 57

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…