Eviter de repointer la cellule pour que la date s'inscrive

  • Initiateur de la discussion Initiateur de la discussion dss
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dss

XLDnaute Occasionnel
Bonjour le forum,

J'ai une macro VBA concue (normalement) pour inscrire sur la ligne concernée en colonne L la date d'enregistrement dès que la première cellule de la ligne concernée est saisie (avec boite de dialogue).

Probleme : je saisis en cellule A1 par exemple et je devrais avoir la date qui s'inscrit sur la cellule L1 : CA NE FONCTIONNE PAS ; je dois recliquer sur la cellule A1 pour que la date en L1 s'inscrive ? Je n'arrive pas à trouver la source du problème.
Voici le code VBA que j'ai écrit :

Dim Lig As Integer, VColL As Integer
If Target.Count > 1 Then Exit Sub
If Intersect(Range("A:M"), Target) Is Nothing Then Exit Sub
' Inscrit la date et heure de saisie si n'existe pas déjà
Lig = Target.Row
If Range("L" & Lig).Value = "" And Target.Value <> "" Then
Application.EnableEvents = False
Range("L" & Lig).Value = Now()
Application.EnableEvents = True
End If
End Sub

Merci de votre aide

Amicalement

dss
 
Re : Eviter de repointer la cellule pour que la date s'inscrive

bonjour

Code:
[COLOR=Navy][B]Private Sub Worksheet_Change(ByVal Target As Range)[/B][/COLOR]
Dim Lig As Integer, VColL As Integer
If Target.Count > 1 Then Exit Sub
If Intersect(Range("A:M"), Target) Is Nothing Then Exit Sub
' Inscrit la date et heure de saisie si n'existe pas déjà
Lig = Target.Row
If Range("L" & Lig).Value = "" And Target.Value <> "" Then
'Application.EnableEvents = False
Range("L" & Lig).Value = Now()
'Application.EnableEvents = True
End If
End Sub
Fonctionne très bien
cordialement
 
Dernière édition:
Re : Eviter de repointer la cellule pour que la date s'inscrive

(Re)bonjour le forum,

Lorsque je dis que la macro ne fonctionne pas correctement, c'est parce que je dois revenir une nouvelle fois sur la cellule A1 après l'avoir saisie et validée précédemment. Je voudrais que la date s'inscrive dès que je valide la cellule A1 sans avoir besoin de revenir et de cliquer dessus pour que la date en colonne L1 s'inscrive automatiquement.

Merci d'avance

Amicalement

dss
 
Re : Eviter de repointer la cellule pour que la date s'inscrive

Bonjour le fil,
visiblement, ce n'est pas une macro évenementielle que tu nous as donné car tu as:
Application.EnableEvents = False
Application.EnableEvents = True
fred65200 te le fais remarquer:
Private Sub Worksheet_Change(ByVal Target As Range)

Je confirme que ça marche.
Donc déplace la macro dans le code de la feuille en ayant cette 1ere ligne dans la macro:
Private Sub Worksheet_Change(ByVal Target As Range) et du cout tu peux enlever les "EnableEvents".
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
461
Réponses
2
Affichages
153
Réponses
9
Affichages
201
Réponses
6
Affichages
299
Réponses
4
Affichages
223
Réponses
3
Affichages
193
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Retour