Conserver une modalité selon critère VBA

Résolu
Bonjour à tou(te)s !
Voilà, depuis quelques temps j'ai un problème que je retourne dans tous les sens mais rien n'y fait, je ne trouve pas la solution.
Je vous le présente donc :
J'ai une colonne, avec en première ligne "Lettre"
Au sein de celle-ci, j'ai
A
B
C
C
B
A
A

Mon problème est que grâce à VBA je ne voudrais garder QUE les lignes où "A" est présent dans la colonne "Lettre". Et ce de manière automatisé (en évitant l'enregistreur de Macro).
Dans l'idéal en français, mon idéal ^^ serait de dire que :
Dès que je vois "A" je garde les lignes sinon je les supprime.

Voilà, si quelqu'un avait cela sous le coude, ça me serait d'une aide précieuse !
Merci d'avance à tous, je vous souhaite une bonne journée !

2 réponses

  1. bonjour,

    voici la macro :

    sub suppression ()

    ' on commence à la ligne 1
    i= 1

    'on va balayer la colonne 1 jusqu'à qu'une cellule soit vide
    do while sheets("sheet1").cells(i,1) <> ""

    if cells(i,1) <> "A" then
    sheets("sheet1").Delete Shift:=xlUp
    i=i-1
    end if
    i=i+1
    loop

    end sub
    1. Bonjour Mélanie,
      Merci pour ta solution, je viens de la tester à l'instant et j'ai un petit problème. J'ai bien essayé de bidouiller quelque peu mais rien à faire!
      C'est cette ligne qui me pose problème :
      sheets("sheet1").Delete Shift:=xlUp
      En effet, quand j'exécute, l'erreur d'exécution '1004' apparaît, à savoir "Erreur définie par l'application ou par l'objet".
      Si tu savais d'où pouvait provenir le problème, cela me serait d'une grande aide !
      Merci à toi par avance !
  2. J'ai trouvé une solution, je la poste ici !
    Dim Derlig As Long, b As Long
    With ActiveWorkbook.Worksheets("Feuil1")
    Derlig = .Range("A2").End(xlDown).Row
    For b = Derlig To 2 Step -1
    If .Range("D" & b).Value <> "A" Then
    .Range("D" & b).EntireRow.Delete
    End If
    Next b
    End With