Suprimmer Ligne Selon Contenu De La Cellule

ftpo69

XLDnaute Nouveau
Bonjour,
je souhaiterais pouvoir suprimmer des lignes automatiquement selon le contenu des cellules de la colonne C
Dans l'exemple joint, je souhaiterais supprimer les lignes vides, les lignes "TABLEAU DE SERVICE", les lignes "M: Matin, A: AprŠ" et les lignes "R: RCYC, L: LTP,"
Merci de votre aide.
 

Pièces jointes

  • ESSAI1.xls
    23.5 KB · Affichages: 82
  • ESSAI1.xls
    23.5 KB · Affichages: 83
  • ESSAI1.xls
    23.5 KB · Affichages: 90

wilfried_42

XLDnaute Barbatruc
Re : Suprimmer Ligne Selon Contenu De La Cellule

bonjour ftpo69, fred

ton fichier en retour

n'ayant que la colonne A en exemple, à toi d'adapter pour la colonne c
 

Pièces jointes

  • ESSAI1(1).xls
    29 KB · Affichages: 135
  • ESSAI1(1).xls
    29 KB · Affichages: 138
  • ESSAI1(1).xls
    29 KB · Affichages: 140

skoobi

XLDnaute Barbatruc
Re : Suprimmer Ligne Selon Contenu De La Cellule

Bonsoir,

une proposition:

Code:
Sub supp()
For r = [C65536].End(xlUp).Row To 1 Step -1
    If Range("C" & r).Value = "A: AprŠ" Or _
        Range("C" & r).Value = "M: Matin" Or _
        Range("C" & r).Value = "R: RCYC" Or _
        Range("C" & r).Value = "L: LTP" Or _
        Range("C" & r).Value = "" Then
            Rows(r).Delete
    End If
Next
End Sub

Edit: bonsoir Wilfried Fred
 

fred65200

XLDnaute Impliqué
Re : Suprimmer Ligne Selon Contenu De La Cellule

bonsoir à tous

je me permets de modifier le code pour une compatibilité XL 2007 et insister sur le fait qu'il est toujours préférable de ne pas coder en dur. :)
Code:
 For i = Range("A65536").End(xlUp).Row To 1 Step -1
par
Code:
For i = Range("A" & Application.rows.count).End(xlUp).Row To 1 Step -1

Cordialement
 

wilfried_42

XLDnaute Barbatruc
Re : Suprimmer Ligne Selon Contenu De La Cellule

re:

je suis de l'avis de fred, mettre des valeurs en dur dans les lignes n'est pas conseillé, si tu n'as que 200 lignes à traiter, tu vas supprimer inutillement 300 lignes

si tu en as 550, les 50 dernieres ne seront pas pris en compte

Mais si tu insistes, le code de skoobi est parfait
 
Dernière édition:

ftpo69

XLDnaute Nouveau
Re : Suprimmer Ligne Selon Contenu De La Cellule

Bonjour, pour faire suite à mon post d'hier, je souhaiterais, à partir d'une feuille de données (feuille 1), effacer (et non supprimer) entièrement le contenu des lignes dont les valeurs de la colonne C serait soit "TABLEAU DE SERVICE", ou "M: Matin, A: AprŠ" ou "R: RCYC, L: LTP," ou vide, ceci afin d'obtenir le résultat présent en feuille 2. Bien sur dans mon exemple la sélection est petite mais en réalité elle fera plus de 500 lignes. J'ai essayé d'adapter les formules en remplaçant Delete par ClearContents mais sans succès.
L'apprentissage du VBA va être long je crois.
 

Pièces jointes

  • ESSAI.xls
    22 KB · Affichages: 93
  • ESSAI.xls
    22 KB · Affichages: 92
  • ESSAI.xls
    22 KB · Affichages: 97

fred65200

XLDnaute Impliqué
Re : Suprimmer Ligne Selon Contenu De La Cellule

bonjour

à tester
Code:
Sub Test()
Dim C As Range
Dim DerliC As Long
Dim Tablo As Variant
' Dernière cellule de la colonne C (3)
DerliC = Columns(3).Find("*", , , , , xlPrevious).Row
' Tableau des éléments à rechercher
Tablo = Array("TABLEAU DE SERVICE", "M: Matin, A: AprŠ", "R: RCYC, L: LTP,")
' Boucle
For Each C In Range("C2:C" & DerliC)
   ' Condition si valeur de cellule dans le tableau des exceptions
   If Not IsError(Application.Match(C.Value, Tablo, 0)) _
      Or IsEmpty(C) Then Range("c" & C.Row & ":L" & C.Row).ClearContents
Next
End Sub
Cordialement
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 506
Messages
2 089 127
Membres
104 041
dernier inscrit
jcourtei