Besoin d' Aide pour code VB " NOW"

Maxooo -  
Psyk974 Messages postés 559 Statut Membre -
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

  1. Psyk974 Messages postés 559 Statut Membre 51
     
    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
    0
    1. maxooo
       
      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 ....
      0
      1. Psyk974 Messages postés 559 Statut Membre 51 > maxooo
         
        Non 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
        0
  2. maxooo
     
    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 ;....
    0
    1. Psyk974 Messages postés 559 Statut Membre 51
       
      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...
      0
  3. Maxooo
     
    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
    0
    1. Psyk974 Messages postés 559 Statut Membre 51
       
      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
      0
  4. Maxooo
     
    Désolé mais cela ne marche pas du tout ....
    0
    1. Psyk974 Messages postés 559 Statut Membre 51
       
      Chez moi ça fonctionne impec
      Verifie que ce code soit placé dans le module "ThisWorkbook"
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Maxooo
     
    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 !!
    0
    1. Psyk974 Messages postés 559 Statut Membre 51
       
      Applique un résolu à ton message ;)
      0