[RESOLU]Supression de lignes d une colonne

Yaniv

XLDnaute Junior
Bonjour je dispose d une base de données sur la colonne B de ma feuille 1 , je souhaiterais supprimer les lignes en fond noir ou ecrites en rouge,pour cela j ai fait le code suivant
Code:
Sub test2()
 Dim LastLig As Long, i As Long
Application.ScreenUpdating = False
With Worksheets("Feuil1")
    LastLig = .Cells(.Rows.Count, 2).End(xlUp).Row
    For i = LastLig To 2 Step -1
         If .Range("B" & i).Interior.Color = 0 Or .Range("B" & i).Font.Color = 255 Then .Rows(i).Delete
    Next i
End With
 End Sub

Or le probleme c est lorsque j execute cette macro , toute ma colonne est effacée (meme les lignes sur fond blanc ou ecrite en noir)
 
Dernière édition:

Papou-net

XLDnaute Barbatruc
Re : Supression de lignes d une colonne

Bonjour Yaniv, et bienvenue,

C'est normal, puisque tu effaces la ligne complète. Si j'ai bien compris, tu ne veux effacer que les cellules alors peut-être comme ceci :

Code:
Sub test2()
 Dim LastLig As Long, i As Long
Application.ScreenUpdating = False
With Worksheets("Feuil1")
    LastLig = .Cells(.Rows.Count, 2).End(xlUp).Row
    For i = LastLig To 2 Step -1
         If .Range("B" & i).Interior.Color = 0 Or .Range("B" & i).Font.Color = 255 Then .Range("B" & i).Delete
    Next i
End With
 End Sub
Cordialement.
 

Yaniv

XLDnaute Junior
Re : Supression de lignes d une colonne

Merci de votre reponse , toutefois le meme probleme se repercute je n arrive pas a comprendre ou se trove mon erreur !!!
j ai verfier qu il n y avait aucune mise en forme conditionnelle
 

Yaniv

XLDnaute Junior
Re : Supression de lignes d une colonne

Merci de votre aide , je vous ai envoye une partie modifiee de ma bdd(je l ai modifiee car c est confidentiel dsl)
 

Pièces jointes

  • exp.xlsm
    13.5 KB · Affichages: 67
  • exp.xlsm
    13.5 KB · Affichages: 74
  • exp.xlsm
    13.5 KB · Affichages: 72

Papou-net

XLDnaute Barbatruc
Re : Supression de lignes d une colonne

RE

Voilà, c'est beaucoup plus parlant avec un exemple sous les yeux.

Modifie ton code comme ceci :

Code:
Sub test2()
Dim LastLig As Long, i As Long
Application.ScreenUpdating = False
With Worksheets("Feuil1")
    LastLig = Range("B" & Application.Rows.Count).End(xlUp).Row
    For i = LastLig To 2 Step -1
         If .Range("B" & i).Interior.ColorIndex = 1 Or .Range("B" & i).Font.Color = 255 Then .Range("B" & i).Delete
    Next i
End With
End Sub
Cordialement.
 

Papou-net

XLDnaute Barbatruc
Re : Supression de lignes d une colonne

je pense qu il y a une erreur un and au lieu du or ds le code de cet exemple (mais le probleme n est pas la car deja modifie)

Effectivement, il fallait remplacer And par Or, car une seule des conditions est suffisante pour supprimer la cellule.

Autre point : j'ai utilisé ColorIndex au lieu de Color et ai remplacé sa valeur par 1 qui correspond au noir.

Cordialement.
 

Discussions similaires

Réponses
7
Affichages
377
Réponses
0
Affichages
157

Statistiques des forums

Discussions
312 336
Messages
2 087 389
Membres
103 534
dernier inscrit
Kalamymustapha