Bonjour , je vous écris ce post car je peine à trouver une solution à mon problème .
L'option filtrer de Excel ne permet pas de filtrer selon une colonne de valeurs et la fonction rechercheV ne résolu n'ont plus à mon souci .
Ce que je recherche à faire c'est tout simplement de filtrer une colonne selon une autre colonne de référence de filtrage ( Sans perdre aucune données ) .
Dans mon exemple filtrer la colonne A selon la colonne filtrage E.
J'avais déjà fait un post similaire il y'a 4 mois ( https://www.excel-downloads.com/thr...e-selon-une-autre-colonne-de-valeur.20063978/ )
mais il y'a quelque chose qui marche pas , je vous explique :
Lorsque qu'il y'a pas beaucoup de données dans la colonne A à trier, la macro filtrage fonctionne correctement mais dès qu'il dépasse une certaine valeur, le filtrage déconne .
Avant filtrage :
		
		
	
	
		 
	
Après filtrage :
		 
	
Niquel !
Mais dès qu'on a des données plus longue dans la colonne A, la VBA déconne :
Avant filtrage :
		 
	
Après filtrage :
		 
	
Vba de @sylvanu
:
	
	
	
	
	
		
Je vous remercie pour toutes aides .
	
		
			
		
		
	
				
			L'option filtrer de Excel ne permet pas de filtrer selon une colonne de valeurs et la fonction rechercheV ne résolu n'ont plus à mon souci .
Ce que je recherche à faire c'est tout simplement de filtrer une colonne selon une autre colonne de référence de filtrage ( Sans perdre aucune données ) .
Dans mon exemple filtrer la colonne A selon la colonne filtrage E.
J'avais déjà fait un post similaire il y'a 4 mois ( https://www.excel-downloads.com/thr...e-selon-une-autre-colonne-de-valeur.20063978/ )
mais il y'a quelque chose qui marche pas , je vous explique :
Lorsque qu'il y'a pas beaucoup de données dans la colonne A à trier, la macro filtrage fonctionne correctement mais dès qu'il dépasse une certaine valeur, le filtrage déconne .
Avant filtrage :
Après filtrage :
Niquel !
Mais dès qu'on a des données plus longue dans la colonne A, la VBA déconne :
Avant filtrage :
Après filtrage :
Vba de @sylvanu
:
		VB:
	
	
	Sub Filtre()
    Dim DLA%, DLE%, La%, Le%, F
    Application.ScreenUpdating = False
    DLA = Range("A65500").End(xlUp).Row
    DLE = Range("E65500").End(xlUp).Row
    Range("F2:F65000").ClearContents
    For La = 2 To DLA
        F = Cells(La, "A")
        For Le = 2 To DLE
            If Application.CountIf([E:E], F) > 0 Then
                Cells(La, "F") = "X"
                Exit For
            End If
        Next Le
    Next La
    ActiveSheet.Range("$F$1:$F$22").AutoFilter Field:=1, Criteria1:="<>"
End Sub
Sub FiltreOFF()
    Application.ScreenUpdating = False
    Range("F2:F65000").ClearContents
    ActiveSheet.Range("$F$1:$F$65000").AutoFilter Field:=1
End SubJe vous remercie pour toutes aides .
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		