Menu

Code VBA figer le temps

Messages postés
6
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
-
Bonjour,

J'aimerai figer le temps dans la colonne D suivant le mot "ok" en colonne E qui serait donnée par la somme des cellules des colonne F et G.

Cellule E1 =si((F1+G1)=2;"ok";"")
Cellule E2 =si((F2+G2)=2;"ok";"")
.......

N'étant pas une spécialiste du code VBA serait-il possible de compléter ou de modifier le code ci-dessous.

Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, Range("e1:e16")) Is Nothing Then Exit Sub
    
    If Target.Value = "ok" Then Target.Offset(0, -1).Value = Time
    
End Sub

Merci.
Bonne journée.



Configuration: Windows / Chrome 71.0.3578.98
Afficher la suite 

Votre réponse

6 réponses

Messages postés
400
Date d'inscription
mardi 5 juin 2018
Dernière intervention
13 février 2019
29
0
Merci
Bonjour,

Le changement de valeur du résultat d'une cellule ne provoque pas le déclenchement de la macro "Worksheet_Change". Vois si les valeurs de F1 ou G1 résultent d'une formule ou non. S'ils ne résultent pas d'une formule ou non. Reviens avec la réponse.

Cordialement.

Daniel
Commenter la réponse de danielc0
Messages postés
6
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
0
Merci
Bonjour Daniel,

Les valeurs de F1 et G1 sont rentrées manuellement.

Bonne journée.
danielc0
Messages postés
400
Date d'inscription
mardi 5 juin 2018
Dernière intervention
13 février 2019
29 -
Essaie :

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("F1:G16")) Is Nothing Then Exit Sub
    Cells(Target.Row, 4).Value = Time
End Sub


Daniel
Commenter la réponse de Twixman
Messages postés
436
Date d'inscription
lundi 2 juillet 2018
Dernière intervention
20 février 2019
40
0
Merci
Bonjour
A tester

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 5 Then
Target.Offset(0, -1) = Format(Now, "dd/mm/yyyy")
End If
End Sub
Twixman
Messages postés
6
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
-
Bonjour JCB40,
L'entrée en colonne 5 ne se fait pas manuellement mais par une formule.
Pour mon cas il est important que le déclencheur soit le mot "ok" et que le critère ne soit que dans une colonne, pour l'adapter à plusieurs tableaux.
Merci pour ton aide.
Commenter la réponse de JCB40
Messages postés
6
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
0
Merci
Ne serait-il pas possible de réagir juste sur le "OK" en colonne E;
Pour pouvoir l'adapter à plusieurs tableaux.

Merci.
Commenter la réponse de Twixman
Messages postés
6
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
0
Merci
Pour essayer d'être plus claire.
Voici la formule a transcrire en code VBA.
en D1:=si(E1="ok";stop le temps;"")
en D2:=si(E2="ok";stop le temps;"")
.......

Juste cette condition.

Merci encore.
Commenter la réponse de Twixman
Messages postés
6
Date d'inscription
jeudi 7 février 2019
Dernière intervention
8 février 2019
0
Merci
Merci,
Problème résolu.
Bonne journée.
danielc0
Messages postés
400
Date d'inscription
mardi 5 juin 2018
Dernière intervention
13 février 2019
29 -
Pour info, comment l'as-tu résolu ?

Daniel
Commenter la réponse de Twixman