Macro qui supprime lignes ne contenant pas de mots spécifiqu

Bonsoir,

Je sollicite votre aide (novice en la matière). Je cherche une macro permettant de réaliser plusieurs choses en même temps :

  • choisir les lignes où la date est la plus ancienne dans le temps
  • puis supprimer les lignes ne contenant pas une liste de mots : AUM, AUS, AUX, DDV et HR dans la colonne J
  • pour donner à la fin un résultat comme celui du fichier joint, onglet résultat

Merci pour votre aide

Bonjour,

Essaye le code suivant :

Sub copieFiltre()
    Sheets("Service Roulement").Copy After:=ActiveSheet
    ActiveSheet.Name = "Resultat"
    derLig = ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row
        For i = derLig To 3 Step -1
        Select Case Cells(i, "J")
            Case "AUM", "AUS", "AUX", "DDV", "HR":
            Case Else:
                Rows(i).Delete
        End Select
        Next i
    Range("A:A,C:H").Delete
    Rows(1).Delete
    [A1].Sort Key1:=[C2], Order1:=xlAscending, Header:=xlGuess, Orientation:=xlTopToBottom
End Sub

Remarque : je n'ai pas compris ce que tu veux dire :

choisir les lignes où la date est la plus ancienne dans le temps

Bonjour pimouslm, Raja,

D'après ce que j'ai pu comprendre, il ne faut pas prendre en compte la plus petite date (dans cet exemple, le 26/06/17) puis ensuite lancer ta macro.

Dans le résultat escompté, tu as 63 lignes.

Avec ta macro, 71 lignes.

Voici le fichier modifié pour ne pas tenir compte de la date mini

Bonjour Raja, Xorsankukai

tout d'abord merci pour vos réponses rapides. les deux solutions me conviennent.

Raja a écrit :

Bonjour,

Remarque : je n'ai pas compris ce que tu veux dire :

choisir les lignes où la date est la plus ancienne dans le temps

dans le tri il ne faut prendre en compte que la plus petite date. ici c'est le 26.

Rechercher des sujets similaires à "macro qui supprime lignes contenant pas mots specifiqu"