tri avancé qui refuse de s'éxecuter

Blafi

XLDnaute Occasionnel
Bonjour à tous,

J'ai un classeur qui comporte une feuille "A" que j'ai importée d'un autre classeur. Sur cette feuille "A" apparait une liste de livres avec notamment la date d'achat et je désire trier ces livres pour ne retenir que ceux qui ont été achetés entre 2 dates que l'utilisateur peut sélectionner grace à un userform avec des calendriers. Jj'ai programmé le tout avec VBA et ça marche très bien jusqu'au moment du tri.

Je fais rentrer en VBA les dates sélectionnées par l'utilisateur dans une zone de critères que j'ai insérée au-dessus de ma liste (date d'achat >= date1 choisie et date d'achat <=date2 choisie).

Je demande ensuite un tri avancé pour ne retenir que les livres correspondants aux critères .. et c'est là que ça "foire" :

Si je fais manuellement la manip, ça marche.
Par contre si je fais la manip en l'enregistrant en macro, la macro s'enregistre bien (voir la macro Tritri dans le module1) mais lorsque je veux repartir du départ et utiliser ma macro, seule la ligne de titre se sélectionne, ce qui fait foirer tout le reste...

Je ne comprend pas pourquoi le tri s'éxécute correctement manuellement mais que si j'essaye de faire le même tri en utilisant la macro enregistrée...ça ne marche pas !

Je joins mon fichier pour que vous puissiez le voir...

Pouvez vous m'aider et me dire pourquoi ça ne marche pas ??

Merci d'avance et à bientôt.
 

Pièces jointes

  • Nouveaux Livres.xlsm
    401 KB · Affichages: 113
  • Nouveaux Livres.xlsm
    401 KB · Affichages: 101
  • Nouveaux Livres.xlsm
    401 KB · Affichages: 162
Dernière édition:

Denis132

XLDnaute Impliqué
Re : tri avancé qui refuse de s'éxecuter

Bonsoir Blafi, camarchepas ,

J'ai essayé avec le même résultat que toi.??????????????????????

Par contre,si ce n'est pas une contrainte pour toi, enregistre ta macro en utilisant le filtre automatique, tout va bien.

@+

Denis
 

chris

XLDnaute Barbatruc
Re : tri avancé qui refuse de s'éxecuter

Bonjour

Dans nombre de cas, en macro les dates sont lues comme des dates au format anglo saxon.

Les solutions sont :
  • utiliser le format numérique comme proposé par Frangy
  • mettre les dates au format anglo saxon : >=11/01/2012 <=11/30/2012
  • utiliser des formules :
    • mettre les dates dans d'autres cellules, exemple G1 et H1
    • titrer les colonnes de critères Après et Avant, par exemple
    • mettre =D6>=$G$1 sous Après et =D6<=$H$1 sous Avant
      (si le titre de la colonne ne comporte pas d'espace comme Date_achat par exemple on peut utiliser ce nom à la place de D6 dans les formules : =Date_achat>=$G$1. L'erreur #Nom n'empêchera pas le filtre de fonctionner)
 

Blafi

XLDnaute Occasionnel
Re : tri avancé qui refuse de s'éxecuter

Bonjour tout le monde,

Merci à tous les contributeurs qui malgré l'heure tardive (ou avancée ?) de ma question, ont répondu rapidement....

Je vais essayer vos solutions et je vous tiens au courant...

Ce qui m'étonne toutefois, c'est que j'ai un classeur de 2003 qui utilisait la même manip sans problème (je l'ai d'ailleurs copiée de ce classeur en l'adaptant..)

Les mystères du VBA sans doute ?

Encore merci et à ++
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote