Suppression lignes sous condition

Résolu
Carolo -  
 Carolo -
Bonjour,

Bonjour, j'ai un souci de programmation
Sur une plage allant de A3:E7000, je souhaiterais supprimer toutes les lignes où C ne contient pas le mot TOTO
Pouvez-vous m'aider à trouver la bonne macro (et éventuellement m'expliquer la logique). Merci bcp

3 réponses

  1. Theo.R Messages postés 585 Statut Membre 31
     
    Bjr,

    Sub test()

    For i = 7000 to 3 step -1 'on initie la boucle de manière décroissante car on va supprimer des lignes

    If Cells(i,3).value Like "*TOTO*" Then 'Condition : "si Ci contient TOTO alors"
    Else
    Rows(i & ":" & i).Delete Shift:=xlUp 'on supprime la ligne i, cela s'applique lorsque Ci ne contient pas TOTO
    End If

    Next i 'on termine la boulce

    End Sub
    0
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    On ne boucle que sur la condition (adapter la condition "toto" )

    Option Explicit
    Const Nom As String = "toto"
    '-------------------------
    Sub sanstoto()
    Dim Nbre As Integer, Lig As Integer, Cptr As Integer

    Application.ScreenUpdating = False
    Nbre = Application.CountIf(Columns("C"), "*" & Nom & "*")
    For Cptr = 1 To Nbre
    Lig = Columns("C").Find(Nom, Range("C2"), xlValues).Row
    Rows(Lig).Delete
    Next
    End Sub


    si le nombre de toto est important (>env 500), on pourra tenter un code + rapide mais + compliqué. Tu dis si cela t'intéresse ;o)
     Michel
    0
    1. Carolo
       
      merci bcp :) Ca marche
      0