Filtre élaboré VBA qui ne fonctionne pas

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

  • essai.zip
    41.7 KB · Affichages: 19
  • essai.zip
    41.7 KB · Affichages: 25
  • essai.zip
    41.7 KB · Affichages: 23

chris

XLDnaute Barbatruc
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
 

gillmo

XLDnaute Occasionnel
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+
 

gillmo

XLDnaute Occasionnel
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

  • filtre elaboré.zip
    39.2 KB · Affichages: 30
  • filtre elaboré.zip
    39.2 KB · Affichages: 28
  • filtre elaboré.zip
    39.2 KB · Affichages: 26

Discussions similaires

Réponses
12
Affichages
304

Statistiques des forums

Discussions
312 198
Messages
2 086 107
Membres
103 120
dernier inscrit
83400ren