Suppression de lignes sous conditions

Fermé
corca17 Messages postés 1 Date d'inscription dimanche 2 juin 2013 Statut Membre Dernière intervention 2 juin 2013 - 2 juin 2013 à 16:00
 corca17 - 2 juin 2013 à 16:57
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
A voir également:

1 réponse

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
2 juin 2013 à 16:30
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
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