Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

FIltre Multicritères

  • Initiateur de la discussion Initiateur de la discussion apt
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

apt

XLDnaute Impliqué
Bonsoir à tous,

En essayant d'appliquer trois critères pour filtrer un tableau en VBA je n'ai rien obtenu, mais en faisant cela manuellement j'obtiens un résultat.

Ou est l'erreur ?
 

Pièces jointes

Re : FIltre Multicritères

Bonjour mapomme,

Ca avance bien, mais en testant avec la valeur "1010" entre le "01/01/2011" et "22/01/2011", j'obtient une ligne de résultat avec le code "1010" et la date "03/02/2011" qui est hors la période de recherche.
 
Re : FIltre Multicritères

Bonjour,

Code:
Sub filtre2Dates()
  [A5].AutoFilter Field:=2, Criteria1:=[B3]
  [A5].AutoFilter Field:=4, Criteria1:=">" & Format(Range("d2"), "mm/dd/yyyy"), Operator:=xlAnd, _
     Criteria2:="<=" & Format(Range("d3"), "mm/dd/yyyy")
End Sub

Sub filtre2Dates2()
  [A5].AutoFilter Field:=2, Criteria1:=[B3]
  [A5].AutoFilter Field:=4, Criteria1:=">" & CDbl(Range("d2")), Operator:=xlAnd, _
     Criteria2:="<=" & CDbl(Range("d3"))
End Sub


Le filtre automatique

JB
 

Pièces jointes

Dernière édition:
Re : FIltre Multicritères

Bonsoir Jacques,

Ravi de te lire.

Comme je t'ai déjà signalé, je ne peux accéder à ton site, malheureusement.

Ca marche merci.

Mais j'ai un petit souci :

En essayant avec le code 1007, j'ai un résultat d’une ligne, et le
Code:
Rng.Rows.Count
donne le nombre de 1.

Avec le code 1010, je n’obtiens rien et le
Code:
Rng.Rows.Count
donne toujours le nombre de 1.

Est-ce logique ?
 

Pièces jointes

Re : FIltre Multicritères

Bonsoir JB,

1 - Pourquoi le nombre de lignes est toujours égal à 1 (avec ou sans ligne de résultat) ?

Code:
Me.Range("_FilterDataBase").SpecialCells(xlCellTypeVisible).Rows.Count = 1

Exemple avec le code = 1007 (1 ligne de résultat) ou 1012 (sans résultat)

2 - J'aimerais qu'il n'y ait pas de création de feuille en cas d'un résultat neutre ?

Merci.
 

Pièces jointes

Dernière édition:
Re : FIltre Multicritères

Bonsoir JB,

J'ai essayé avec un bout de tes codes :

Code:
Set Rng = .Range("_FilterDataBase").Offset(1, 0).Resize(.Range("_FilterDataBase"). _
                                                                Rows.Count - 1, .Range("_FilterDataBase").Columns.Count).SpecialCells(xlCellTypeVisible)

mais le problème persiste
 
Re : FIltre Multicritères

Bonsoir JB,

Le nombre de lignes avec :

Code:
Msgbox [_filterdatabase].Resize(, 1).SpecialCells(xlCellTypeVisible).Count

Sans résultat = 1

Au moins une ligne de résultat = 2

Mais pourquoi ce code continu à créer des nouvelles feuilles :

Code:
        Clg = [_filterdatabase].Resize(, 1).SpecialCells(xlCellTypeVisible).Count
        If (Clg) > 1 Then
            '--
            If Not Exist_Sheet Then
                Sheets.Add.Move After:=Sheets(Sheets.Count)
                ActiveSheet.Name = [B3]
            End If
            '--
            Rng.Copy Sheets([B3]).[A1]
            Application.Goto Sheets([B3]).Range("A1")
        End If
 
Re : FIltre Multicritères

Bonsoir,

J'ai corriger la fonction de test de l'existance d'une feuille donnée.

Mais je ne sais pas pourquoi, je ne peux copier les lignes filtrées dans la feuille spécifiée ?

Code:
Rng.Copy Sheets([B3]).[A1]
            Application.Goto Sheets([B3]).Range("A1")
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
470
Réponses
7
Affichages
286
Réponses
16
Affichages
505
Réponses
2
Affichages
248
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…