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

Adapter une macro (tri) en fonction du contenu d'une liste déroulante

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 !

Nougatine95

XLDnaute Occasionnel
Bonjour le Forum,

Merci d'avoir cliqué sur cette discussion.
Peut-être saurez-vous m'aider?

Fichier joint.

Comment adapter cette macro (tri) en fonction du contenu d'une liste déroulante?

Sub Macro1()
Range("$A$4:$I$12").Select
Selection.Sort Key1:=Range("A5"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

En vous remerciant,
Elisabeth.
 

Pièces jointes

Re : Adapter une macro (tri) en fonction du contenu d'une liste déroulante

Bonjour.
Il faut se débrouiller pour remplacer Range("A5") par une cellule de la colonne de rang dépendant de la valeur de la liste déroulante.
Mais franchement, ce serait à la fois plus simple à programmer et plus pratique à utiliser d'effectuer le tri dès qu'on sélectionne un titre ! Parce qu'alors ce serait simplement la cellule Target de la Sub Worksheet_SelectionChange

Salut Pierre-Jean.

Je mets quand même mon code au cas où…
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Intersect(Me.[A4:D4], Target) Is Nothing Then Exit Sub
Me.Range(Me.[I5], Me.[A65536].End(xlUp)).Sort Key1:=Target, Order1:=xlAscending, Header:=xlNo, _
   OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
 
Dernière édition:
Re : Adapter une macro (tri) en fonction du contenu d'une liste déroulante

Mais franchement, ce serait à la fois plus simple à programmer et plus pratique à utiliser d'effectuer le tri dès qu'on sélectionne un titre ! Parce qu'alors ce serait simplement la cellule Target de la Sub Worksheet_SelectionChange

Merci beaucoup Dranreb,
En effet, ce serait plus simple, bien que je ne sois pas capable actuellement de "programmer" tel que tu l'indiques. 🙂)
Si j'étais seule à l'utiliser ce serait OK, mais là je cherche à faire simple sans avoir à expliquer...
Je pense que pour les utilisateurs qui ne connaissent pas Excel, ils comprendront qu'ils ont un choix avec le menu déroulant.
 
Re : Adapter une macro (tri) en fonction du contenu d'une liste déroulante

Après tout les 2 systèmes peuvent coexister. Voir mon code ajouté en édit au post #2, à mettre dans le module Feuil1 (Feuil1)
 
Re : Adapter une macro (tri) en fonction du contenu d'une liste déroulante

Merci pierrejean

J'ai consulté la macro que tu as saisie:

Sub Macro1()
x = Range("B3")
Range("A4:I12").Select
Selection.Sort Key1:=Cells(5, x), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub

Résultat: Ce que je recherchais.

Merci merci merci pierrejean!
 
- 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

Réponses
2
Affichages
771
Réponses
29
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…