lancement macro unique au moment du choix d'une liste de validation

  • Initiateur de la discussion Initiateur de la discussion dokaz
  • Date de début Date de début

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 !

dokaz

XLDnaute Nouveau
bonjour,

je souhaite rendre plus convivial une page de sélection dans excel où je choisi dans une liste déroulante une valeur (liste évolutive avec référence d'un nom de plage) et ensuite je lance une macro qui selon la valeur de la cellule de choix me filtre cette valeur dans une dizaine de feuille (filter valeur = valeur choisie).
existe t'il un moyen de lancer automatiquement ma macro de filtre dès que je choisi une valeur de la liste déroulante ?
Je reprécise que ma macro est unique et que je connais pas à l'avance les valeurs de la liste déroulante.

merci d'avance,

Cordialement,
 
Re : lancement macro unique au moment du choix d'une liste de validation

Re,

à placer dans le code de la feuille Selection

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Sheets("Selection").Range("B3")) Is Nothing Then
        Call selection
    End If
End Sub
 
Re : lancement macro unique au moment du choix d'une liste de validation

merci tototiti2008, ça fonctionne nickel, me reste maintenant à bien comprendre le code pour pouvoir le réutiliser.
En revanche, quand je supprime ma valeur sélectionné, j'ai besoin que les valeurs filtrées en A et B s'annulent (toutes données apparentes à nouveau). As tu encore une astuce balaise?
Je compte aussi dans la feuille sélection faire une liste de validation avec cette fois les entrées sur le même principe, je peux mettre simplement le même code avec la nouvelle cible et la macro associée?
Merci d'avance pour les infos et vu l'heure , bon ap'
 
Re : lancement macro unique au moment du choix d'une liste de validation

Re,

Comme Selection est un mot-clé VBA, je te conseille de renommer ta procédure

par exemple, dans le code de la feuille Selection

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Target, Sheets("Selection").Range("B3")) Is Nothing Then
        Call filtreselection
    End If
End Sub

Dans le module1

Code:
Sub FiltreSelection()
Dim Critere As String
    Critere = Sheets("Selection").Range("b3").Value
    If Critere = "" Then
        Sheets("A").Range("A3").CurrentRegion.AutoFilter Field:=1
        Sheets("B").Range("A3").CurrentRegion.AutoFilter Field:=1
    Else
        Sheets("A").Range("A3").CurrentRegion.AutoFilter Field:=1, Criteria1:=Critere
        Sheets("B").Range("A3").CurrentRegion.AutoFilter Field:=1, Criteria1:=Critere
    End If
End Sub

Je compte aussi dans la feuille sélection faire une liste de validation avec cette fois les entrées sur le même principe, je peux mettre simplement le même code avec la nouvelle cible et la macro associée?

Oui, je pense
Essaye de le faire et reviens-nous si tu as un soucis
 
Re : lancement macro unique au moment du choix d'une liste de validation

Re,

merci effectivement ça va encore plus simplifier mon classeur et le code est largement allégé (2e effet kisscool)
Je confirme aussi que j'ai ajouté dans le code de la feuille une 2e selection avec une autre macro et que ça fonctionne. Dans mon VBA source j'avais déjà des noms de macros filtrxxxx du coup pas de souci.
bon week end
 
- 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

Retour