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

VBA trie automatique par date

  • Initiateur de la discussion Initiateur de la discussion yannfab
  • 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 !

yannfab

XLDnaute Nouveau
Bonjour à tous,

Dans le cadre de mon travail, j'ai créé un fichier Excel permettant de gérer la péremption des masques à cartouche que nous distribuons à l'accueil de notre site.

Grâce à la fonction "AUJOURDHUI" et à de la mise en forme conditionnelle sous forme de couleur, j'arrive à gérer sans problème.

Jusqu'ici tout va bien 😀

A ce jour, je trie par ordre croissant les dates de péremption de mes masques grâce à la fonction "filtre automatique".
A chaque changement de masque, je suis obligé de changer la date de validité de mon nouveau masque et de réaliser manuellement le nouveau filtrage pour trier à nouveau par ordre croissant.

J'aimerais que le trie se fasse automatiquement dès modification de la date dans la cellule. J'ai vu sur certains forum que l'on pouvait le faire en vba mais je n'y arrive pas...

Si qqn a une solution, je suis preneur!

Merci
 

Pièces jointes

Re : VBA trie automatique par date

Bonjour et bienvenue sur le forum,

1. tu enregistres une macro qui fait le tri comme tu veux : je l'ai fait, ça donne ça :
Code:
Sub macro_tri()
    ActiveWorkbook.Worksheets("Gestion des masques accueil").AutoFilter.Sort. _
        SortFields.Clear
    ActiveWorkbook.Worksheets("Gestion des masques accueil").AutoFilter.Sort. _
        SortFields.Add Key:=Range("B3"), SortOn:=xlSortOnValues, Order:= _
        xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Gestion des masques accueil").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

2. si tu veux que cette macro s'éxécute à chaque fois que tu modifies une date dans ta feuille :
-tu vas dans l'éditeur VBA
-double clic sur Feuil1
-dans la fenetre Code, tu choisis Worksheet dans la liste déroulante en haut à gauche
- et Change dans la liste déroulante en haut à droite
- et tu appelles ta macro, je l'ai fait ça donne ça:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 2 Then
    macro_tri
  End If
End Sub

Caillou
 
Re : VBA trie automatique par date

Merci pour l'accueil et la réponse rapide Caillou 😀

La macro marche nikel, le trie est maintenant automatique.

J'aimerais en apprendre un peu plus sur le VBA et éviter de passer par des forums dans le futur. Que me conseillerais tu? Par quoi commencer?

Merci encore!!!!

yannfab
 
- 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
493
  • Question Question
Microsoft 365 Macro VBA - Excel
Réponses
12
Affichages
624
Réponses
2
Affichages
455
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…