XL 2019 Macro pour trier en fonction d'une colonne

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 !

alexandre33260

XLDnaute Occasionnel
Bonjour, dans le fichier joint, quelque MFC pour colorer les cellules, bref, rien de bien compliqué.

Dans la colonne J il suffit de mettre un nombre pour que cela écrive Semaine (avec le nombre renseigné) et j’aimerai si possible que cela reste comme ça.

Dans les actions, j’aimerais que lorsque je clic sur le bouton ‘Trier’, que les actions se trient en fonction du n° de la semaine.

Dans mon cas, ‘Nouvelle action devrait être positionnée entre Action 5 et Action 6 voire avant Action 5, bref, respecter l’ordre du n° de colonne J.

Merci pour votre aide
 

Pièces jointes

Bonsoir Alexandre,
Beaucoup de fonctions XL ont horreur des cellules fusionnées ... dont la fonction Trier.
J'ai donc réagencé pour éviter les cellules fusionnées. Cela ne change pas grand chose.
J'ai supposé que vous vouliez un tri croissant des semaines.
Si la solution vous convient ...
 

Pièces jointes

Sylvanu,
juste une autre question, j'ai rajouté une nouvelle feuille, il y en aura au moins 7 dans le futur, mais je ne comprends pas comment faire pour créer la même chose sur les autres feuilles.
Si je renomme les feuille avec le nom tri1 tri2 ect. cela ne fonctionne pas????
 

Pièces jointes

Bonjour Alexandre,
C'est normal, c'était pas prévu. Donc je ne traitais que la feuille Nom1.
Dans cette PJ j'utilise la feuille courante qui appelle la macro pour travailler, vous pouvez donc dupliquer la feuille tant que vous voulez.
VB:
Sub Tri()
    CurrentSheet = ActiveWorkbook.ActiveSheet.Name
    Range("B6:E1000").Select
    ActiveWorkbook.Worksheets(CurrentSheet).Sort.SortFields.Clear
    ActiveWorkbook.Worksheets(CurrentSheet).Sort.SortFields.Add Key:=Range("E7:E1000"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets(CurrentSheet).Sort
        .SetRange Range("B6:E1000")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    [A1].Select
End Sub
 

Pièces jointes

- 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
8
Affichages
634
Réponses
25
Affichages
737
Réponses
3
Affichages
508
Retour