Problème de macro

Résolu
xav37300 Messages postés 52 Statut Membre -  
xav37300 Messages postés 52 Statut Membre -
Bonjour,

Je reviens vers vous car j' ai un petit problème sur mon fichier.
En effet, j'ai un premier onglet ou j ajoute mes articles avec mes commandes
il y a une ligne bleu pour faire une recherche qui fonctionne très bien le souci c'est lorsque je suis censé mettre oui pour la commande recu il doit me recuperer la ligne et me lajouter dans le deuxième onglet (commandes expédiées ) mais lorsque je mais oui rien ne se passe?
Ou est l'erreur dans la macro?
Pourriez vous m'aider svp

Merci beaucoup

https://www.cjoint.com/c/CLuwog9s91d

1 réponse

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    Tu penses que "Worksheet_Change1" peut être opérationnel ?
    Peut-être par l'opération du saint esprit numérique ?
    Il faudrait intégrer cette macro dans "Worksheet_Change" la seule macro événementielle qui fonctionne sur changement de valeur de cellule.
    0
    1. xav37300 Messages postés 52 Statut Membre
       
      ok merci de tes conseils
      je débute et c'est vrai qu'avec une condition ca va mais des que je veux faire plus complexe je m'y perd

      Merci quand meme
      0
    2. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Tout simplement :
      Private Sub Worksheet_Change(ByVal Target As Range)
          If Not Application.Intersect(Target, Range("a7:g7")) Is Nothing Then
              If Target.Count > 1 Then Exit Sub
              Range("a8:g1500").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
              Range("a6:g7"), Unique:=False
              Application.Goto Range("a1"), Scroll:=True
              Target.Activate
          ElseIf Not (Intersect(Target, Range("K:K")) Is Nothing) Then
              Dim lig As Long, derligne As Long
              If Target.Value = "OUI" Then
                  With Sheets("Commandes Expédiées")
                      derligne = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
                      lig = Target.Row
                      While Cells(lig, 1) = ""
                          lig = lig - 1
                      Wend
                      .Cells(derligne, 1) = Cells(Target.Row, 1)
                      .Cells(derligne, 2) = Cells(Target.Row, 2)
                      .Cells(derligne, 3) = Cells(Target.Row, 3)
                      .Cells(derligne, 5) = Cells(Target.Row, 4)
                  End With
              End If
          End If
      End Sub
      
      0
    3. xav37300 Messages postés 52 Statut Membre
       
      Merci Beaucoup gbinforme
      0