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

Filtre élaboré VBA qui ne fonctionne pas

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 !

gillmo

XLDnaute Occasionnel
Bonjour à tous.

Vous trouverez ci joint un fichier dans lequel j'ai mis un formulaire pour faire un choix de données, et qui ensuite filtre ces données pour les positionner dans une autre feuille.

Malheureusement le filtre bug et je n'obtiens rien.

Avez vous des idées pour solutionner mon problème.

Cdlt.

Gillmo
 

Pièces jointes

Re : Filtre élaboré VBA qui ne fonctionne pas

Bonjour

Il y a plusieurs problèmes :
  • Ta zone d'extraction contient un champ qui n'existe pas dans les données : code affectation
  • Ton code de filtre ne précise pas les worksheets concernées
    Code:
    Sub Filtrer1()
        Application.ScreenUpdating = False
        Worksheets("Synthèse").Range("A:R").AdvancedFilter Action:=xlFilterCopy, _
                CriteriaRange:=Worksheets("Choix multiple").Range("A1:D2"),  CopyToRange:=Worksheets("Choix multiple").Range("A4:M4"), Unique:=False
        
        Worksheets("Choix multiple").Range("A:BU").Columns.AutoFit
        Application.ScreenUpdating = True
    End Sub

  • Lorsque les champs n'ont pas été saisis, la commande
    Code:
    .Cells(2, 2) = Me.affectations
    place on ne sait quoi dans le champ qui n'est pas considéré comme vide par le filtre.
    Un test avec soit copie du choix, soit suppression du contenu de la cellule résout le problème
    Code:
    With Sheets("Choix multiple")
            If Me.sites <> "" Then .Cells(2, 1).Formula = Me.sites Else .Cells(2, 1).ClearContents
            If Me.affectations <> "" Then .Cells(2, 2).Formula = Me.affectations Else .Cells(2, 2).ClearContents
            If Me.compte <> "" Then .Cells(2, 3).Formula = Me.compte Else .Cells(2, 3).ClearContents
            If Me.Numimmo <> "" Then .Cells(2, 4).Formula = Me.Numimmo Else .Cells(2, 4).ClearContents
    End With
 
Re : Filtre élaboré VBA qui ne fonctionne pas

merci chris.

Effectivement je m'étais rendu compte que lorsque je choisissais uniquement une donnée, le filtre ne s'enclencher pas car les autres filtres se remplissait et pourtant les cellules paraissait vide. Et surtout j'ai d'autres filtres qui fonctionnent très bien et qui sont écris de la même façon.

Bref je te remercie, c'est nikel.

A+
 
Re : Filtre élaboré VBA qui ne fonctionne pas

Bonjour le forum,

J'ai à nouveau un problème avec un filtre elaboré. Celui ci me génére une erreur 400, mais je ne vois pas ou se trouve le problème.

Merci d'avance de votre aide.

cdlt.
 

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
16
Affichages
505
Réponses
4
Affichages
286
Réponses
16
Affichages
1 K
Réponses
4
Affichages
481
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…