Filtrer des donnés

Résolu
New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -  
New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Exemple de fichier: https://www.cjoint.com/c/IHCkR3UcpbI

J’aimerai faire un filtre pour supprimer les lignes dans la feuille « Filtered Data SAP » avec les mots qui se trouvent dans les feuilles Description et Description2.

Dans la feuille « Filtered Data SAP » Description se trouve dans la colonne C et Description2 dans la colonne E.

J’ai 2 boutons Filtre Description et Filtre Description2.

Bouton Filtre Description supprime les lignes avec des mots qui sont dans la feuille Description.

Et Bouton Filtre Description2 supprime les lignes avec des mots qui sont dans la feuille Description2.

Des idées pour bien faire.

Merci de votre aide.
Salutations.

Configuration: Windows / Edge 18.17763

1 réponse

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, moi je ferais une boucle pour parcourir les lignes de données, en commençant par le bas, et, si le contenu doit être supprimé, je le supprimerais.
    0
    1. New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   1
       
      bonjour,

      Comment feriez-vous avec un boucle, je ne maitrise pas trop les boucle vue que je suis nouveau dans ce domaine.

      Merci d'avance pour votre aide.
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention  
         
        voici un exemple:
        Option Explicit
        Private Sub CommandButton_FiltreDescription_Click()
        Call filtrons(Sheets("Description"), 3)
        End Sub
        
        Private Sub filtrons(flfiltre As Worksheet, ncoltest As Long)
        Dim nligdata As Long, fldata As Worksheet, nligfiltre As Long
        Set fldata = Sheets("Filtered Data SAP")
        nligdata = 2
        Do While fldata.Cells(nligdata, ncoltest) <> ""
            nligfiltre = 2
            Do While flfiltre.Cells(nligfiltre, 1) <> ""
                If fldata.Cells(nligdata, ncoltest) = flfiltre.Cells(nligfiltre, 1) Then
                    fldata.Rows(nligdata).Delete
                    nligdata = nligdata - 1
                    Exit Do
                End If
                nligfiltre = nligfiltre + 1
            Loop
            nligdata = nligdata + 1
        Loop
        End Sub
        
        0
    2. New_VBA_User Messages postés 82 Date d'inscription   Statut Membre Dernière intervention   1
       
      bonjour,
      cette solution est parfaite.
      Merci beaucoup.
      désolé pour la réponse tardive.
      0