Problème de macro

Résolu
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. Contributeur
    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.
    1. 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
    2. Contributeur
      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
      
    3. Merci Beaucoup gbinforme