Formule VBA pour supprimer des lignes contenant certains caracteres

Bonjour à tous

Dans mon fichier j'ai plein de données.

Cepandant, dans la colonne B2 je souhaiterais garder que les lettres B, P, RB, RP, RS, RT, S, ET T.

Je peux utiliser des filtres mais j'aimerais automatiser tout ca avec VBA.

Est-ce que quelqu'un peut m'aider ?

12julien.xlsx (196.26 Ko)
12julien.xlsx (196.26 Ko)

Merci d'avance.

Julien

Salut Julien57920

Voici un code qui peut faire l'affaire

Sub SupLigne()
  Dim aGarder() As String, bFound As Boolean
  Dim Ind As Integer, dLig As Long, Lig As Long
  Dim TimeDeb As Date, TimeFin As Date

  ' Tableau des lettres à garder
  aGarder = Split("B,P,RB,RP,RS,RT,S,T", ",")
  ' Dernière ligne du tableau
  dLig = Range("A" & Rows.Count).End(xlUp).Row
  ' Pour chaque ligne en démarrant par la dernière
  TimeDeb = Now()
  For Lig = dLig To 2 Step -1
    bFound = False
    For Ind = 0 To UBound(aGarder)
      ' Il y a des espaces après le texte, il faut les supprimer
      If RTrim(Range("B" & Lig)) = aGarder(Ind) Then
        bFound = True: Exit For
      End If
    Next Ind
    ' Si B pas trouvé
    If bFound = False Then Rows(Lig).Delete Shift:=xlUp
  Next Lig
  TimeFin = Now()
  ' PEtit message
  MsgBox "Temps d'éxécution : " & Format(TimeFin - TimeDeb, "HH:MM:SS")
End Sub

@+

Merci c'est top

Si jamais je veux rajouter en plus une condition, j'aimerais que dans la colonne AB tout les E soient supprimés, est-ce possible ?

Un grand merci.

Cordialement.

Julien

Re,

Il faut alors annuler l'éventuelle valeur trouvée en B

 For Lig = dLig To 2 Step -1
    bFound = False
    For Ind = 0 To UBound(aGarder)
      ' Il y a des espaces après le texte, il faut les supprimer
      If RTrim(Range("B" & Lig)) = aGarder(Ind) Then
        bFound = True: Exit For
      End If
    Next Ind
    ' Annuler ICI
    If RTrim(Range("AB" & Lig)) = "E" Then bFound = False
    ' Si B pas trouvé
    If bFound = False Then Rows(Lig).Delete Shift:=xlUp
  Next Lig

@+

Genial, je te remercie ca marche trés bien

Rechercher des sujets similaires à "formule vba supprimer lignes contenant certains caracteres"