Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

  • Initiateur de la discussion Initiateur de la discussion josanche
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

josanche

XLDnaute Occasionnel
Bonjour le forum

J'aurais besoin de votre aide. Dans le fichier que je vous envoie, j'aimerais supprimer les lignes dont la colonne C"Bill" a pour valeur "Protecting Free Speech For Groups Like GOA" ET "Restricting taxpayer funding to anti-gun lobby groups". Vous savez me donner une macro pour supprimer tous ces lignes. Merci d'avance pr votre aide

Veuillez clickez sur le lien pour uploader le fichier


http://db.tt/Nav2veG7
 
Re : Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

Coucou Désolé

J'ai eu un petit oublie mais je voulais aussi après que vous ayez appliqué cette premiere condition sur mon excel, d'appliquer la condition suivante: supprimer les lignes dont les colonnes K (appelé did not vote )et L(appelé vote present) prennent la valeur 1

Exemple: la ligne vaut 1 dans la colonne "did not vote" et que vote present vaut 0 par conséquent alors cette ligne doit supprimé, idem si la ligne vaut 1 dans la colonne "vote present" et 0 dans la colonne "did not vote"

Normalement, sauf si erreur, Il ne peut pas y avoir deux chiffres 1 dans les deux colonnes en meme temps.

Je vous remercie à l'avance pour votre aide apportée🙄
 
Re : Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

Bonsoir josanche,

Vois si la macro sur la copie de ton fichier ci-jointe répond à ta demande (clic sur bouton Supprimer).

Bonne soirée.

Cordialement.


Edit : bonsoir flyonets44. Ta solution est plus "technique", et peut-être même plus rapide. Bravo !
 

Pièces jointes

Dernière édition:
Re : Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

Bonjour josanche

Vois si cela te convient
NB: Si cela ne tenait qu'à moi je supprimerai facilement tous les pro gun !!!!!

Edit: Salut Papou-net
 

Pièces jointes

Re : Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

Bonjour,

J'ai un petit souci concernant vos réponses bien que vos macro semble bien marché. Dans la réponse proposé Par papounet, j'ai après utilisation du macro 2039 lignes tandis que dans celui de pierrejean, j'en ai 2102, lequel est correcte ? 🙁

MErcie encore pr votre aide

La réponse de flyonet44 est peut etre trop technique
 
Re : Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

Dans la réponse proposé Par papounet, j'ai après utilisation du macro 2039 lignes tandis que dans celui de pierrejean, j'en ai 2102, lequel est correcte ?

Difficile de dire, je ne vois qu'une solution : comparer les deux feuilles ligne à ligne. On peut toujours créer une macro pour faire ce boulot ingrat, mais là je vais rejoindre mon dodo.

La réponse de flyonet44 est peut etre trop technique

Bien que ne connaissant pas ton niveau en VBA, c'est un peu l'impression que je ressentais dans mon post précédent. Il n'en reste pas moins que c'est une solution très élégante en terme de programmation (à mon humble avis).

J'en profite pour saluer pierrejean.

Bonne nuit à tous.

Cordialement.
 
Re : Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

Bonjour,

0,07 sec

Code:
Sub supLignesRapide()
  Application.ScreenUpdating = False
  a = Range("C2:C" & [C65000].End(xlUp).Row)
  For i = LBound(a) To UBound(a)
    If a(i, 1) = "Protecting Free Speech For Groups Like GOA" Or _
     a(i, 1) = "Restricting taxpayer funding to anti-gun lobby groups" Then
       a(i, 1) = "Sup"
    Else
       a(i, 1) = 0
    End If
  Next i
  Columns("b:b").Insert Shift:=xlToRight
  [B2].Resize(UBound(a)) = a
  [A1:CU3000].CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes
  On Error Resume Next
  Range("B2:B3000").SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
  Columns("b:b").Delete Shift:=xlToLeft
End Sub

Code:
Sub supLignesRapide()
  Application.ScreenUpdating = False
  a = Range("A2:L" & [L65000].End(xlUp).Row)
  b = Range("C2:C" & [C65000].End(xlUp).Row)
  For i = LBound(a) To UBound(a)
    If a(i, 3) = "Protecting Free Speech For Groups Like GOA" Or _
     a(i, 3) = "Restricting taxpayer funding to anti-gun lobby groups" Or _
     a(i, 11) = 1 And a(i, 12) = 0 Or _
     a(i, 11) = 0 And a(i, 12) = 1 Then
       b(i, 1) = "Sup"
    Else
       b(i, 1) = 0
    End If
  Next i
  Columns("b:b").Insert Shift:=xlToRight
  [B2].Resize(UBound(a)) = b
  [A1:CU3000].CurrentRegion.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlYes
  On Error Resume Next
  Range("B2:B3000").SpecialCells(xlCellTypeConstants, 2).EntireRow.Delete
  Columns("b:b").Delete Shift:=xlToLeft
End Sub

JB
 

Pièces jointes

Dernière édition:
Re : Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

Bonjour josanche, les participants, le Forum,,

RE :

Dans la réponse proposé Par papounet, j'ai après utilisation du macro 2039 lignes tandis que dans celui de pierrejean, j'en ai 2102, lequel est correcte ?

Après une bonne nuit, et mûre réflexion ce matin, il est normal que mon résultat diverge de celui de pierrejean comme de celui de JB probablement.

En effet, dans ma solution, j'ai tenu compte des conditions que tu as ajoutées dans les colonnes K et L contrairement à mes amis sus-cités (que je salue tout particulièrement).

Bonne journée à tous.

Cordialement.
 
Dernière édition:
Re : Supprimer les lignes lorsqu'une condition est appliquée à une colonne.

Bien que le code de JB donne le même resultat que le mien ,je suis dans l'obligation de constater que c'est celui de mon ami Papou-net qui donne le bon resultat
En effet , le mien comportait une erreur (corrigée sur le fichier joint)
Celui de JB ne tient pas compte des colonnes K et L
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour