XL pour MAC Filtrer sur plusieurs colonnes

vincentast

XLDnaute Junior
Bonjour,

J’ai encore besoin de votre aide….

( voir fichier en pièce jointe )

J’aimerai créer des filtres quand je sélectionne dans le menus déroulant la région dans l’onglet « Fiche de données Perso » en F7, que je puisse ensuite avoir à choisir dans un menu déroulant en F8 les restaurants qui correspondent à la région ; puis qu’un filtre se fasse à partir de la ligne 18, et aussi que si je sélectionne dans F8 « TOUS » cela me filtre tous les noms de la région sélectionnée dans F7 .

Encore merci pour votre aide

Vincent
 

Pièces jointes

  • Fichier xlsx.xlsx
    51.5 KB · Affichages: 15

job75

XLDnaute Barbatruc
Bonjour vincentast, le forum,

Voyez le fichier .xlsm joint et cette macro évènementielle dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F7:F8]) Is Nothing Then Exit Sub
With [B16].CurrentRegion
    [A18] = "=IF(F$7="""",TRUE,C18=F$7)*IF(OR(F$8="""",F$8=""TOUS""),TRUE,D18=F$8)" 'critère
    .Rows(2).Resize(.Rows.Count - 1).AdvancedFilter xlFilterInPlace, [A17:A18] 'filtre avancé
    [A18] = ""
End With
End Sub
Elle applique le filtre avancé quand on modifie F7 ou F8.

J'ai fait le ménage dans la feuille :

- il restait des formules matricielles que j'ai effacées

- j'ai supprimé les espaces superflus qui se trouvaient en colonne D.

A+
 

Pièces jointes

  • Filtre avancé(1).xlsm
    38.7 KB · Affichages: 7

vincentast

XLDnaute Junior
Bonjour vincentast, le forum,

Voyez le fichier .xlsm joint et cette macro évènementielle dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F7:F8]) Is Nothing Then Exit Sub
With [B16].CurrentRegion
    [A18] = "=IF(F$7="""",TRUE,C18=F$7)*IF(OR(F$8="""",F$8=""TOUS""),TRUE,D18=F$8)" 'critère
    .Rows(2).Resize(.Rows.Count - 1).AdvancedFilter xlFilterInPlace, [A17:A18] 'filtre avancé
    [A18] = ""
End With
End Sub
Elle applique le filtre avancé quand on modifie F7 ou F8.

J'ai fait le ménage dans la feuille :

- il restait des formules matricielles que j'ai effacées

- j'ai supprimé les espaces superflus qui se trouvaient en colonne D.

A+
TOP TOP , merci beaucoup job75

vincent
 

vincentast

XLDnaute Junior
TOP TOP , merci beaucoup job75

vincent
Bonjour vincentast, le forum,

Voyez le fichier .xlsm joint et cette macro évènementielle dans le code de la feuille :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F7:F8]) Is Nothing Then Exit Sub
With [B16].CurrentRegion
    [A18] = "=IF(F$7="""",TRUE,C18=F$7)*IF(OR(F$8="""",F$8=""TOUS""),TRUE,D18=F$8)" 'critère
    .Rows(2).Resize(.Rows.Count - 1).AdvancedFilter xlFilterInPlace, [A17:A18] 'filtre avancé
    [A18] = ""
End With
End Sub
Elle applique le filtre avancé quand on modifie F7 ou F8.

J'ai fait le ménage dans la feuille :

- il restait des formules matricielles que j'ai effacées

- j'ai supprimé les espaces superflus qui se trouvaient en colonne D.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 206
Messages
2 086 202
Membres
103 157
dernier inscrit
youma