Supprimer des lignes en fonction de la couleur d'une cellule

Quand je l'exécute le message "erreur de compilation apparaît et ensuite me sélectionne en jaune la ligne :

If Sheets("Feuil1").Range("A" & i) Like C(j) Then

Je l'ai installé sur le module 1 comme sur l'exemple du coup je ne comprend pas..

Re,

Désolé, mais je crois que je ne pourrai t'aider d'avantage,

Rassure-moi, le dernier fichier que je t'ai joint fonctionne correctement ?

A tout hasard essaie de remplacer

If Sheets("Feuil1").Range("A" & i) Like C(j) Then Rows(i).Delete

par

If Sheets("Feuil1").Cells(i, 1) Like C(j) Then Rows(i).Delete

Bonne soirée.

C'est bon j'ai réussi à le faire marcher en supprimant et refaisant mon tableau!

Je voudrais savoir si c'est possible de l'étendre à mon tableau entier, car je viens de me rendre compte que j'ai dans la colonne F des valeurs à supprimer en plus de celle de la colonne A.

Et bien sur merci à tous pour votre participation !

Re,

essaie cette macro pour effacer tout ce qui est rouge tout en négligeant la MFC

Je l'ai testé sur le dernier fichier exemple3.xlsm

Sub supprLigneRouge()
    Dim Rng As Range
    Set Rng = Range("A1").CurrentRegion
    Rng.AutoFilter field:=1, Criteria1:=RGB(255, 0, 0), Operator:=xlFilterCellColor
    Rng.Offset(1, 0).Resize(Rng.Rows.Count - 1).EntireRow.Select
    Selection.Delete Shift:=xlUp
    Rng.AutoFilter field:=1
    ActiveCell.Select
End Sub

Merci !

Dois-je supprimer la macro initiale de l'exemple 3 ?

non tu peux creer un nouveau module

attend je te fais ca

voici le fichier

8exemple4.xlsm (17.04 Ko)

Effectivement elle fonctionne mais au bout du deuxième clique elle supprime l'intégralité de mon tableau.

Et elle ne supprime que les ligne ou il y a des cellules rouge dans la colonne A et pas dans les autres colonnes

C'est quand même tiré par les cheveux ce VBA

donc la couleur rouge peux exister dans d'autres colonnes?

C'est bon j'ai réussi à le faire marcher en supprimant et refaisant mon tableau!

Je voudrais savoir si c'est possible de l'étendre à mon tableau entier, car je viens de me rendre compte que j'ai dans la colonne F des valeurs à supprimer en plus de celle de la colonne A.

Et bien sur merci à tous pour votre participation !

Oui c'est ce que je disais juste avant ^^

Bonjour le fil,

je viens de me rendre compte que j'ai dans la colonne F des valeurs à supprimer en plus de celle de la colonne A.

Si il n'y a que la colonne J à traiter en plus et si les conditions sont les mêmes:

Sub supprime()
 Dim i As Long, dl As Long
    dl = Range("A" & Rows.Count).End(xlUp).Row
     C = Array("OUZBEKISTAN", "France")

    Application.ScreenUpdating = False

 For j = LBound(C, 1) To UBound(C, 1)
  For i = dl To 1 Step -1
   If Sheets("Feuil1").Range("A" & i) Like C(j) Or Sheets("Feuil1").Range("J" & i) Like C(j) Then Rows(i).Delete
  Next i
 Next j

    Application.ScreenUpdating = True

End Sub
5exemple5.xlsm (17.60 Ko)

Cordialement,

Super elle fonctionne, mais j'ai juste une dernière question :

Dans la colonne J l'un de mots à supprimer est "MAT PROMO" mais la cellule peut contenir d'autre chose dedans : "12345 MAT PROMO 12345",

Du coup la macro ne le détecte pas, est-ce que c'est possible de lui dire :

Si contient dans son texte "MAT PROMO" alors suppr ?

Re,

Si contient dans son texte "MAT PROMO" alors suppr ?

Peut-être ainsi alors:

Sub supprime()
 Dim i As Long, dl As Long
    dl = Range("A" & Rows.Count).End(xlUp).Row
     C = Array("OUZBEKISTAN", "France", "*MAT PROMO*")

    Application.ScreenUpdating = False

 For j = LBound(C, 1) To UBound(C, 1)
  For i = dl To 1 Step -1
   If Sheets("Feuil1").Range("A" & i) Like C(j) Or Sheets("Feuil1").Range("J" & i) Like C(j) Then Rows(i).Delete
  Next i
 Next j

    Application.ScreenUpdating = True

End Sub
8exemple6xlsm.xlsm (17.77 Ko)

Bien entendu, on ne traite que les colonnes A et J...

Cordialement,

Rechercher des sujets similaires à "supprimer lignes fonction couleur"