Suppression lignes sous condition

Résolu/Fermé
Carolo - 18 févr. 2016 à 12:36
 Carolo - 18 févr. 2016 à 15:44
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

Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
18 févr. 2016 à 12:52
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
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
Modifié par michel_m le 18/02/2016 à 15:16
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
merci bcp :) Ca marche
0
Merci bcp :)
0