Filtre, encore et encore de filtres !

WDAndCo

XLDnaute Impliqué
Bonsoir le Forum,

J'ai le code ici dessous que devrait : rendre visible une feuille, sélectionner cette feuille lancer une macro qui affiche tout et me filtrer des lignes qui sont > ou = à DateDepart et < ou = à DateFin

Mais le code ne fonctionne pas pourquoi ?

Code:
Sub Seclection()
'
' Seclection Macro
' Macro enregistrée le 20/10/2008 par WD And Co
'

'
     Sheets("Archives").Visible = True
     Sheets("Archives").Select
Call SansFiltre
    Selection.AutoFilter Field:=3, Criteria1:=">=" DateDepart, _
        Operator:=xlAnd, Criteria2:="<=" DateFin
End Sub

D'avance merci

Dominique
 

Catrice

XLDnaute Barbatruc
Re : Filtre, encore et encore de filtres !

Bonsoir,

Qu'est ce qui ne fonctionne pas ?
Où cela plante t il ?

Que fait SansFiltre ?

Quand on arrive sur cette ligne, quelle est la selection active ?
Selection.AutoFilter Field:=3, Criteria1:=">=" DateDepart, _
Operator:=xlAnd, Criteria2:="<=" DateFin

A quoi correspondent : DateDepart et DateFin ?

Essaie ceci :
Selection.AutoFilter Field:=3, Criteria1:=">=" Format(DateDepart,"mm/dd/yy"), _
Operator:=xlAnd, Criteria2:="<=" Format(DateFin,"mm/dd/yy")
 
Dernière édition:

WDAndCo

XLDnaute Impliqué
Re : Filtre, encore et encore de filtres !

Bonsoir Catrice

SansFiltre permet de tout afficher même si aucun filtre est actif (avec un petit réglage d'écran)

Code:
Sub SansFiltre()
'
' SansFiltre Macro
' Macro enregistrée le 05/08/2008 par WD And Co
'

'
    Selection.AutoFilter Field:=4, Criteria1:="RP"
    ActiveSheet.ShowAllData
    Columns("A:N").Select
    ActiveWindow.Zoom = True
    Range("O1").Select
End Sub

DateDepart et DateFin sont des cellules nommées ! Exp : mercredi 2 janvier 2008 et vendredi 10 octobre 2008

Cela ne PLANTE pas en faite le tri ne ce fait pas, même les lignes qui correspondent critères ne sont pas affichées !

Donc a mon avis c'est au niveau des critères que cela pèche !

Voila j'espère avoir était plus clair !

Dominique
 

wilfried_42

XLDnaute Barbatruc
Re : Filtre, encore et encore de filtres !

Bonjour

les dates dans les filtres, j'ai eu pas mal de problemes avec ca, je les ai reglés (c'est peut etre pas la meilleur facon) en le transformant en Long

Code:
Selection.AutoFilter Field:=3, Criteria1:=">=" & clng(DateDepart), Operator:=xlAnd, Criteria2:="<=" & clng(DateFin)
 

GIBI

XLDnaute Impliqué
Re : Filtre, encore et encore de filtres !

Bonsoir,

Il faut déjà vérifier que les dates sont bien des dates au sens excel (=un nombre de jour écoulé depuis le début du siècle dernier) pour cela passe la cellule en format standard ==> si tu n'a pas une valeur numérique c'est que ce n'est pas une vrai date il faut la convertir avec la fonction dateval

dans le VBA pour saisir une date au format excel utilise DateValue("12/05/2000") ou datevalue (TOTO) si toto est un string


Excel ne tri et ne filtre correctement que les dates au format excel, eventuellement cela fonctione si la date est du format aaaa/mm/jj, mais le format date c'est mieux



Bon courage

GIBI
 

CB60

XLDnaute Barbatruc
Re : Filtre, encore et encore de filtres !

Bonjour
Ce serais bien d'avoir les données, mais cela pourrais peut être t'aider.
Code:
dateDepart = [A1].Value2
dateFin = [A2].Value2

    Selection.AutoFilter Field:=3, Criteria1:=">=" DateDepart, _
        Operator:=xlAnd, Criteria2:="<=" DateFin
 

WDAndCo

XLDnaute Impliqué
Re : Filtre, encore et encore de filtres !

Bonsoir
Code:
Sub Seclection()
'
' Seclection Macro
' Macro enregistrée le 20/10/2008 par 5513403E
'

'
     Sheets("Archives").Visible = True
     Sheets("Archives").Select
Call SansFiltre
     Selection.AutoFilter Field:=3, Criteria1:=">=" & DateValue(DateDepart), Operator:=xlAnd, Criteria2:="<=" & DateValue(DateFin)
End Sub

Ne fonctionne pas !
 

wilfried_42

XLDnaute Barbatruc
Re : Filtre, encore et encore de filtres !

Bonjour à tous

je regarde les différents codes et je vois
Code:
">=" date_depart
sans le & de concaténation que j'aurais mis.

est-ce normal ? parceque là je ne comprends pas.....

merci pour vos réponses
 

Catrice

XLDnaute Barbatruc
Re : Filtre, encore et encore de filtres !

Re,

Bien vu Wilfried, effectivement sans les & (ça plante la macro d'ailleurs !? WDAndCo dit que ça ne filtre pas, chez moi c'est "Erreur de compilation"...) ça ne fonctionne pas mais il y a 2 autres modifs à faire.
Si DateDepart et DateFin sont des palges nommées, il faut les mettre entre crochets ou sous la forme Range(DateFin).
Et il faut, comme d'hab, formater les dates en mm/dd/yy

Sub test()
Selection.AutoFilter Field:=3, Criteria1:=">=" & Format([DateDepart], "mm/dd/yy"), _
Operator:=xlAnd, Criteria2:="<=" & Format([DateFin], "mm/dd/yy")
End Sub

Voir le fichier joint
 

Pièces jointes

  • Classeur1.xls
    28.5 KB · Affichages: 64
  • Classeur1.xls
    28.5 KB · Affichages: 63
  • Classeur1.xls
    28.5 KB · Affichages: 65
Dernière édition:

WDAndCo

XLDnaute Impliqué
Re : Filtre, encore et encore de filtres !

Bonsoir et Merci a tous !

Code:
Sub Seclection()
'
' Seclection Macro
' Macro enregistrée le 20/10/2008 par 5513403E
'

'
DateDepart = [E20].Value2
DateFin = [M20].Value2
     Sheets("Archives").Visible = True
     Sheets("Archives").Select
Call SansFiltre
       Selection.AutoFilter Field:=3, Criteria1:=">=" & DateDepart, _
        Operator:=xlAnd, Criteria2:="<=" & DateFin
End Sub

Marche encore merci !
 

Catrice

XLDnaute Barbatruc
Re : Filtre, encore et encore de filtres !

Edit : Avais pas vu le Value2 ...

Si les cellules sont nommées, ça fonctionne aussi comme ça :

Sub test()
Selection.AutoFilter Field:=3, Criteria1:=">=" & [DateDepart].Value2, _
Operator:=xlAnd, Criteria2:="<=" & [DateFin].Value2
End Sub
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
120

Statistiques des forums

Discussions
312 305
Messages
2 087 084
Membres
103 461
dernier inscrit
dams94