Filtrer des donnés [Résolu]

Signaler
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019
-
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019
-
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

Messages postés
11802
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 août 2020
674
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.
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019

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.
Messages postés
11802
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
13 août 2020
674 >
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019

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
Messages postés
82
Date d'inscription
mardi 27 août 2019
Statut
Membre
Dernière intervention
3 octobre 2019

bonjour,
cette solution est parfaite.
Merci beaucoup.
désolé pour la réponse tardive.