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

XL 2013 Filtrer sur des onglets du classeur

pierre811517

XLDnaute Nouveau
Bonjour,

J'ai plusieurs onglets dans mon classeur dans lesquels il y a des tableaux d'indicateurs.
Je souhaiterais créer un onglet "paramètres" avec les critères suivants par exemples:
  1. période
  2. département sélectionné
  3. etc
et que tous ces critères sélectionnés s'appliquent à plusieurs onglets de mon classeur automatiquement.

Existe-t-il une solution ?

par avance, merci,

bien cordialement,

Pierre.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pierre,
Sans un petit fichier test, très brumeux comme demande.
Si vous avez un onglet "paramètres" avec en A2 par exemple la période, dans une feuille quelconque vous pouvez faire :
VB:
=Paramètres!A2
et sa valeur sera toujours ré évaluée.
On encore vous nommez la cellule paramètres A2, par exemple : Période, et dans une feuille vous faites :
Code:
=Période
et sa valeur sera toujours ré évaluée. C'est plus parlant dans les formules d'avoir un nom plutôt qu'une référence à une cellule.
 

pierre811517

XLDnaute Nouveau
Merci,
vous trouverez en PJ, un exemple avec:
onglet "parametre": saisir les paramètres
onglet "reg": doit être mis à jour en fonction des paramètres sélectionnés
onglet "dpt": doit être mis à jour en fonction des paramètres sélectionnés

Merci pour vos efforts sur le sujet,

bien cdt,

Pierre
 

Pièces jointes

  • testr.xlsx
    26 KB · Affichages: 5

chris

XLDnaute Barbatruc
Bonjour à tous

Cela nécessite de programmer le filtre en VBA d'autant qu'il n'y a pas de titres communs sur tes 2 onglets mais une dépendance Département Destinataire avec dpt
et tu sembles évoquer d'autres onglets...
 
Dernière édition:

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Pierre, Chris,
Un essai , avec ce que j'ai compris, avec deux macros événementielles qui s'exécutent automatiquement lorsqu'on sélectionne une feuille :
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    Columns("A:D").AutoFilter
    If Sheets("paramètre").[C6] <> "" Then _
        ActiveSheet.Range("$A$1:$D$931").AutoFilter Field:=3, Criteria1:=Sheets("paramètre").[C6]
    If Sheets("paramètre").[C7] <> "" Then _
        ActiveSheet.Range("$A$1:$D$931").AutoFilter Field:=1, Criteria1:=Sheets("paramètre").[C7]
    If Sheets("paramètre").[C8] <> "" Then _
        ActiveSheet.Range("$A$1:$D$931").AutoFilter Field:=2, Criteria1:=Sheets("paramètre").[C8]
End Sub
et
Code:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    Columns("A:C").AutoFilter
    If Sheets("paramètre").[C6] <> "" Then _
        ActiveSheet.Range("$A$1:$D$931").AutoFilter Field:=1, Criteria1:=Sheets("paramètre").[C6]
    If Sheets("paramètre").[C9] <> "" Then _
        ActiveSheet.Range("$A$1:$D$931").AutoFilter Field:=2, Criteria1:=Sheets("paramètre").[C9]
End Sub
 

Pièces jointes

  • testr.xlsm
    33.1 KB · Affichages: 6

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…