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 .
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.
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.
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.
Bonjour job75, encore merci, mais comment je peux faire pour que le macros fonctionne également dans le Drive de Googlsheet, car j'aimerai mettre mon fichier en partage sur le drive.
Bonjour job75, encore merci, mais comment je peux faire pour que le macros fonctionne également dans le Drive de Googlsheet, car j'aimerai mettre mon fichier en partage sur le drive.