Besoin d' Aide pour code VB " NOW"

Bonjour,
J 'ai un soucis pour finir des lignes de code : mon besoion en saisisant une quantité dans la colonne 6 je souhaites une date en colonne 7 , cela fonctionne mais je n arrive pas a faire la memem chose pour la colonne 8 pour une date en 9 ...

Private Sub worksheet_change(ByVal Target As Range)
Dim Lig As Integer
If Target.Column <> 6 Then Exit Sub
Lig = Target.Row
If IsEmpty(Cells(Lig, 7)) Then
Cells(Lig, 7) = Now
End If
End Sub

En fait je souhaite que l on finisse mon code , étant un ^peut novice /... merci d avance a TOUS
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    Alors pour une colonne en 8

    Private Sub worksheet_change(ByVal Target As Range)
    Dim Lig As Integer
    If Target.Column <> 8 Then Exit Sub
    Lig = Target.Row
    If IsEmpty(Cells(Lig, 9)) Then
    Cells(Lig, 9) = Now
    End If
    End Sub

    Tu as laissé ça If Target.Column <> 6 Then Exit Sub

    c'est normal que ça ne marche pas
    1. Salut donc pour toi si je fais :

      Private Sub worksheet_change(ByVal Target As Range)
      Dim Lig As Integer
      If Target.Column <> 6 Then Exit Sub
      Lig = Target.Row
      If IsEmpty(Cells(Lig, 7)) Then
      Cells(Lig, 7) = Now
      End If
      End Sub

      Private Sub worksheet_change(ByVal Target As Range)
      Dim Lig As Integer
      If Target.Column <> 8 Then Exit Sub
      Lig = Target.Row
      If IsEmpty(Cells(Lig, 9)) Then
      Cells(Lig, 9) = Now
      End If
      End Sub

      a la suite sa va marcher ?
      Car je veux que dans ma feuille , il y es plusieur case de saisi et plusieur macro qui gere les dates de saisi
      Donc je saisi en 6 et la date s 'affiche en 7
      Puis sur la meme feuille je saisi en 8 et la date s'affiche en 9 ....
    2. @maxoooNon dans un code VBA tu ne peux pas avoir deux procédures du même nom ! Si tu veux que ça fonctionne il faut tout mettre dans la même procédure

      Private Sub worksheet_change(ByVal Target As Range)
      
          Dim Lig As Integer
      
          If Target.Column <> 6 Then Exit Sub
          Lig = Target.Row
          If IsEmpty(Cells(Lig, 7)) Then
              Cells(Lig, 7) = Now
          End If
      
          If Target.Column <> 8 Then Exit Sub
          Lig = Target.Row
          If IsEmpty(Cells(Lig, 9)) Then
              Cells(Lig, 9) = Now
          End If
      
      End Sub


      Voila
  2. Salut !!
    JE viens d'eessayer, en fait cela je l avais deja fais mais , la saisi en 6 affiche bien la date en 7 , mais la sais en 8 ne donne rien du tout.
    Je pense que l on sors trop tot de l 'application macro, c est juste une question de lien comme then ou else ou je sais pas quoi .... d'ailleur c est pour cela que je demande de l 'aide !!
    Essai l'application et tu verra que cela ne donne aps grand chose ..
    je suis désolé de te faire perdre ton temps ;....
    1. Bah oui c normal...

      Private Sub worksheet_change(ByVal Target As Range)
      
          Dim Lig As Integer
      
          If Target.Column <> 6 Then
              Lig = Target.Row
              If IsEmpty(Cells(Lig, 7)) Then
                  Cells(Lig, 7) = Now
              End If
          End If
      
          If Target.Column <> 8 Then
              Lig = Target.Row
              If IsEmpty(Cells(Lig, 9)) Then
                  Cells(Lig, 9) = Now
              End If
          End If
      
      End Sub


      Voila, on faisait exit sub lors des conditions...
  3. hello !!
    Ben je crois que tu n a pas essayé !! car quand je saisi en colonne : 3/ 4 / 5 / 6 / 8 j ai les 2 dates qui s'affiche en colonne 7 / 9 !!
    Merci de reessayer .. sinon bzen laisse tomber !! lol
    1. Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
      
       Dim Lig As Integer
      
          If Target.Column = 6 Then
              Lig = Target.Row
              If IsEmpty(Cells(Lig, 7)) Then
                  Cells(Lig, 7) = Now
              End If
          End If
      
          If Target.Column = 8 Then
              Lig = Target.Row
              If IsEmpty(Cells(Lig, 9)) Then
                  Cells(Lig, 9) = Now
              End If
          End If
      
      
      End Sub
  4. Désolé mais cela ne marche pas du tout ....
    1. Chez moi ça fonctionne impec
      Verifie que ce code soit placé dans le module "ThisWorkbook"
  5. Franchement Merci !!
    j avais trouver une solution pour plier a cela , mai maintenant cela sera encore mieux !!
    merci de taé patience! !
    Et plein de bonne chose dans la vie !!
    1. Applique un résolu à ton message ;)