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

AutoFilter dates et variables

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

F

fennoo

Guest
Bonjour à tous,

Je débute en VBA et je sollicite votre aide. Je sais que mon problème semble récurrent à première vue. J'ai justement essayé sa solution bien connue, mais elle ne fonctionne pas !

J'ai une colonne B remplie de données de type Date. Je voudrais réaliser une macro pour rechercher une date précise (jour+mois+année) contenue dans une variable.

Code:
Dim jourMois As Date
Dim lJourMois As Long

jourMois = DateSerial(2011, 1, 4)
lJourMois = jourMois
            
ActiveSheet.ListObjects("Sheet_1").Range.AutoFilter Field:=2, _
Criteria1:="=" & lJourMois, Operator:=xlAnd

J'ai également essayé ceci:
Code:
Dim dDate As Date, dTime As Date
Dim lDate As Long, dblDate As Double
Dim dDateTime As Long
    
dDate = DateSerial(2011, 1, 4)
lDate = dDate
    
dTime = TimeSerial(0, 0, 0)
dblTime = dTime
    
dDateTime = lDate + dblTime
    
ActiveSheet.ListObjects("Sheet_1").Range.AutoFilter Field:=2, _
Criteria1:="=" & dDateTime

Je pense que ce code est très correct. A un autre endroit de mon code, il fonctionne très bien. Mais pour une raison inconnue, là, il ne fonctionne pas. Je l'ai retourné dans tous les sens, en vain.

Si quelqu'un a une idée, je le remercie de me la proposer.

PS: Je travaille sur Excel 2010, mais il s'agit d'un document au format Excel 2007 (xls).
 
Re : AutoFilter dates et variables

Bonjour a tous,

Je reviens vers vous car j'ai trouvé la solution à mon problème qui était toute bête, bien que l'erreur m'ait été fournie par des forums.

Merci Hippolite pour ton aide. Malheureusement, j'avais déjà essayé cette méthode qui n'avait pas fonctionné.

En fait, contrairement à mes 2 exemples, il ne fallait pas passer la variable de type Date en variable de type Long, mais directement la passer dans le critère du filtre telle quel. Pour être plus explicite, je vais corriger mes exemples.

Code:
Dim jourMois As Date

jourMois = DateSerial(2011, 1, 4)
           
ActiveSheet.ListObjects("Sheet_1").Range.AutoFilter Field:=2, _
Criteria1:="=" & jourMois

Et pour le suivant:
Code:
Dim dDate As Date, dTime As Date
Dim dDateTime As Date
   
dDate = DateSerial(2011, 1, 4)
dTime = TimeSerial(0, 0, 0)
dDateTime = dDate + dTime 
   
ActiveSheet.ListObjects("Sheet_1").Range.AutoFilter Field:=2, _
Criteria1:="=" & dDateTime

Voilà. A bientôt.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
914
Réponses
3
Affichages
443
Réponses
4
Affichages
756
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…