Filtrer des dates via une combobox

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

dalba

XLDnaute Nouveau
Bonjour,

J'expose la situation.

J'ai un tableau de plusieurs colonne. Je souhaite trier la colonne 29 "A recontacter" avec la fonction "trier" d'Excel.
Pour ce faire, j'utilise macro qui ouvre un userform avec un combobox dont la valeur selectionnée genere le filtre de la colonne.

Mon problème, c'est que quand je selectionne une date, le filtre ne s'applique pas.
A priori les dates ne sont pas reconnues par la fonction filtre. Car, quand j'utilise le même code, sur des valeurs de type strings, mon code marche !

voilà mon code :
............................................................
initialisation de la combobox (sans doublon):
............................................................
Sub maj_liste_recont()
liste_recont.Clear
Feuil1.Activate
debut = "AC2"
nb_fiche = Cells(1, 1).End(xlDown).Row
bas = "AC" & Cells(1, 29).End(xlDown).Row
Range(Cells(1, 1), Cells(nb_fiche, 29)).Sort Key1:=Range("ac2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
If bas <> "ac65536" Then
Set Plage = Range(debut, bas)
For Each cell In Plage
If cell.Value <> "" Then
doublon = False
'test les doublons
nb = liste_recont.ListCount
For N = 1 To nb
d = liste_recont.List(N - 1, 0)
If DateValue(cell.Value) = DateValue(liste_recont.List(N - 1, 0)) Then
doublon = True
N = nb
End If
Next
If doublon = False Then
liste_recont.AddItem DateValue(cell)
End If
End If
Next cell
End If
liste_recont.Text = "A recontacter le"
End Sub

............................................................
Lorsque je selectionne la valeur dans le menu déroulant :
............................................................
Private Sub liste_recont_AfterUpdate()
Feuil1.Activate
liste_niveau.Clear
liste_ville.Clear
Run "raz_filtre"
If liste_recont.ListIndex >= 0 Then
Run "filtre", liste_recont.Value, 29, Feuil1.Name
End if
............................................................
macro qui filtre le tableau
............................................................
Sub filtre(filtre, colonne, table)
Sheets(table).Activate
Selection.AutoFilter Field:=colonne, Criteria1:=filtre
end Sub
............................................................
A ce moment en théorie, il ne devrait rester que les lignes filtrées, mais dans mon cas, il n'y a rien !!!
............................................................

Merci par avant
 
Re : Filtrer des dates via une combobox

Oui, c'est ce que je pensais aussi. Donc j'ai testé mais ca marche pas.

J'ai alors transformé mes date en caractère en rajoutant ' devant. Mais j'aime pas cette solution car le trie croissant des dates ne se fait plus !
Et j'ai en besoin.

Donc pour l'instant, j'ai toujours pas de solution...

dalba
 
Re : Filtrer des dates via une combobox

Je viens de faire un petit prog qui montre le problème.

C'est plus simple pour voir si quelqu'un peu m'aider, en sachant que leur valeur, sous forme de date ne doivent pas être modifiée.


Merci d'avance ! Denis
 

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
3
Affichages
195
Réponses
5
Affichages
184
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
484
Réponses
8
Affichages
471
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
319
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
174
Retour