Problème de dates DTPicker et Filtre VBA

Bonjour,

Je débute en vba excel et je me retrouve bloqué avec les problèmes liés aux dates dans excel et le vba. J'ai trouvé énormément d'informations sur les forums mais je n'arrive pas à solutionner mon problème.

En bref, j'ai créé un UserForm avec deux Datepicker (Date début et date fin). Lorsque que je clique sur valider dans mon USF, la macro importe une feuille d'un autre classeur qui contient des données simples. Ensuite, elle est censée effectuer un filtre sur la colonne A (Date) entre les dates des deux DatePicker.

... Des fois ça marche ... Très souvent ça ne marche pas

Je vous donne des exemples et je joins les deux fichiers.

1- Dates saisies : 04/01/2013 et 09/02/2013 (JJ/MM/AAAA) et la macro fait le tri sur 1er avril au 2 septembre

2- Dates saisies : 13/01/2013 et 13/02/2013 , la macro ne va pas au bout, je dois manuellement finir le filtre sur la feuille en le validant par OK

3- Dates saisies : 10/01/2013 et 08/02/2013 ... macro retient 1er octobre et 2 août.

Il ne s'agit surement pas de grand chose mais malgré la lecture de nombreux tutos sur les dates dans excel et vba, pas moyen d'avancer.

D'avance merci pour l'aide que vous pourrez m'apporter.

68testvba.xlsm (23.56 Ko)
58basetest.xlsx (12.10 Ko)

Bonjour

A tester

Bonjour Banzaï64,

Merci beaucoup pour cette réponse efficace et très rapide.

Cela confirme mon statut de débutant, cela faisait au moins deux jours que je cherchais

Par contre, en fin de macro, faut-il réactiver les "alertes" et le "rafraichissement" ?

Si je peux me permettre, j'ai une petite question bonus :

Pour filtrer aussi sur un autre field, il me faut à nouveau taper le code suivant avec le nouveaux critère :

.Range("D4").CurrentRegion.AutoFilter Field:=2, Criteria1:="CHEQUE"

ou est-ce possible d'insérer ce nouveau "field" à la suite de l'autre :

.Range("D4").CurrentRegion.AutoFilter Field:=1, Criteria1:=">=" & CSng(DTPicker1.Value), _
          Operator:=xlAnd, Criteria2:="<=" & CSng(DTPicker2.Value), Field:=2, Criteria1:="CHEQUE"

Merci encore pour cette précieuse aide.

Bonjour

caphiloma a écrit :

faut-il réactiver les "alertes" et le "rafraichissement" ?

Normalement non

En quittant la macro ces options sont remises par défaut

Sauf quand ...... exceptions qui confirment la règle - Tout dépend du contexte

Certains les remettent d'autres non, mais en principe il faut les remettre si le code n'est pas fini et que tu risques d'avoir un avertissement (c'est pour cela que j'ai remis les "alertes" en service)

Pour ne jamais être ennuyé tu les remets en fin de macro

caphiloma a écrit :

Pour filtrer aussi sur un autre field, il me faut à nouveau taper le code suivant avec le nouveaux critère

Oui : Sinon passer par un filtre élaboré

caphiloma a écrit :

ou est-ce possible d'insérer ce nouveau "field" à la suite de l'autre

Non : au moins sur Excel 2003 les autres versions je ne connais pas (je ne crois pas)

Merci pour ces précisions bien utiles.

Pour ce qui est de ma question sur les "fields" à la suite, j'ai trouvé par "expérimentation" directe

Il faut refaire une ligne de filtrage avec le nouveau field et le nouveau critère.

Désolé de ne pas avoir testé avant de demander

Pour info, j'ai office 2010.

Bonne fin de journée.

Rechercher des sujets similaires à "probleme dates dtpicker filtre vba"