Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

fred65200

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

bonsoir,

Sur quel critère te bases tu pour supprimer les lignes
- plus d'un mot dans la colonne A?
- une croix dans la colonne C?
- autre ?


cordialement
 

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
 

skoobi

XLDnaute Barbatruc
Re : Suprimmer Ligne Selon Contenu De La Cellule

Re, bonsoir Fred
en l'absence de wilfried, je me permet de répondre:

Code:
For i = Range("A65536").End(xlUp).Row To 1 Step -1

à remplacer par:

Code:
For i = 500 To 3 Step -1
 

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

Réponses
40
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…