Suppression de lignes sous conditions

corca17 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 corca17 -
Bonjour,

Je débute en VBA et je souhaite supprimer des lignes dans excel selons conditions :
Ex : Un même document est validé par plusieurs personnes
Pour chaque numéro de doc, je veux garder uniquement ceux dont la valeur en colonne 3 est Approuvé et Rejeté.
Dans mon exemple, je voudrais donc supprimer toutes les lignes doc 1 mais garder doc2 et doc 3
Colonne 1 Colonne 2 Colonne 3
Doc1 x Approuvé
Doc1 y Approuvé
Doc1 z Approuvé
Doc2 x Approuvé
Doc2 y Approuvé
Doc2 z Rejeté
Doc3 x Approuvé
Doc3 y Rejeté
..
Pour l'instant j'arrive juste à supprimer des lignes en fonction d'une seule valeur
Sub delete_ligne()
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To 11502
If (Cells(i, 8) = "Rejeté") Then
Cells(i, 1).EntireRow.Delete
i = i - 1
End If
Next
Application.ScreenUpdating = True
End Sub

Pouvez-vous m'aider à l'adapter ?

Merci

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    je ne comprend rien à tes explications....

    Pour chaque numéro de doc, je veux garder uniquement ceux dont la valeur en colonne 3 est Approuvé et Rejeté.
    donc on ne supprime rien à ce tableau car tous sont soit rejeté ou approuvé
    Colonne 1 Colonne 2 Colonne 3
    Doc1 x Approuvé
    Doc1 y Approuvé
    Doc1 z Approuvé
    Doc2 x Approuvé
    Doc2 y Approuvé
    Doc2 z Rejeté
    Doc3 x Approuvé
    Doc3 y Rejeté


    et la cerise sur le gâteau:
    Dans mon exemple, je voudrais donc supprimer toutes les lignes doc 1 mais garder doc2 et doc 3

    ??????

    0
    1. corca17
       
      bonjour Michel,
      Je vais essayer de reformuler mon besoin :)
      En fait, ce que je souhaite, c'et garder les lignes du tableau qui, pour un numéro de doc identique (colonne 1) ont la valeur Approuvé et la valeur rejeté.
      Dans mon exemple, seules les lignes avec doc 2 e doc 3 répondent à ces critères.
      Pour doc1, la valeur est toujours Approuvé et moi je veux approuvé et rejeté.

      Donc dans le code je voudrais dire
      recheche les lignes avec colonnes 1 identique en valeur
      puis, si colonne 3 = approuvé et rejeté, on garde
      si colonne 3 = uiquement approuvé on supprime
      si colonne 3 = uniquement rejeté on supprime

      Tu crois que tu peux m'aider ?
      merci
      0