Code VBA figer le temps

Twixman Messages postés 8 Statut Membre -  
danielc0 Messages postés 2175 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

6 réponses

  1. danielc0 Messages postés 2175 Date d'inscription   Statut Membre Dernière intervention   286
     
    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
  2. Twixman Messages postés 8 Statut Membre
     
    Bonjour Daniel,

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

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

    Merci.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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

      Daniel
      0