Code VBA figer le temps

Twixman Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

6 réponses

danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
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
0
Twixman Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Daniel,

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

Bonne journée.
0
danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
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
0
JCB40 Messages postés 3013 Date d'inscription   Statut Membre Dernière intervention   463
 
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
0
Twixman Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Twixman Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Ne serait-il pas possible de réagir juste sur le "OK" en colonne E;
Pour pouvoir l'adapter à plusieurs tableaux.

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Twixman Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Twixman Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci,
Problème résolu.
Bonne journée.
0
danielc0 Messages postés 1859 Date d'inscription   Statut Membre Dernière intervention   231
 
Pour info, comment l'as-tu résolu ?

Daniel
0