XL 2013 urgent filtre chronologique ne marche pas sur vba

adluma

XLDnaute Nouveau
Bonjour,

Nous essayons désespérément à partir de dates (dd/mm/yyyy hh:mm) contenues dans des cellules nommées de réaliser par une macro un filtre chronologique entre ces deux dates, et en fait, le filtre se met bien en place. Mais ne s'active pas et le tableau ne présente pas de données alors que les bonnes dates sont enregistrées dans les données du filtre. Par contre si on va sur les paramètres du filtre et qu'on clique sur OK, ça fonctionne, on ne comprend plus rien !!!!

Voici notre prog :

ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=4, Criteria1:= _
"<=" & Range("fin").Value & "", Operator:=xlAnd, Criteria2:=">=" & Range("debut").Value & ""

PLEASE HELP !!! C'est un projet urgent et nous sommes complètement perdues !

Merci d'avance !!!!!!!!
 

adluma

XLDnaute Nouveau
Re : urgent filtre chronologique ne marche pas sur vba

Bonjour thebenoit59,

Le problème c'est que toutes les valeurs sont confidentielles !
Pour préciser un peu, ce qui nous ennuie c'est qu'on voit bien que la formule marche puisque quand nous vérifions sur le tableau les paramètres du filtrage sont bien rentrés et c'est seulement en appuyant sur ok que les valeurs s'affichent, sinon rien. Et la macro se sert de ce filtre pour générer des graphiques par la suite... Ennuyeux!
si jamais vous avez des pistes pour résoudre ce problème, nous sommes preneuses !
 

STephane

XLDnaute Occasionnel
Re : urgent filtre chronologique ne marche pas sur vba

Même remarque que Benoît, surtout si c'est urgent ;-)
Sub demo()
Dim lDateDebut As Long, lDateFin As Long, lCnt As Long

' Récup des dates
lDateDebut = Range("debut").Value
lDateFin = Range("fin").Value

With ActiveSheet.ListObjects("Table2")
' Unfilter if filtered
If .AutoFilter.FilterMode Then .AutoFilter.ShowAllData
' Refilter along with specified dates
.Range.AutoFilter Field:=4, Criteria1:=">=" & lDateDebut, Operator:=xlAnd, Criteria2:="<=" & lDateFin

On Error Resume Next
lCnt = .DataBodyRange.Columns(1).SpecialCells(xlCellTypeVisible).Count
MsgBox lCnt & " enregistrement(s) retenu(s)"
End With
End Sub
 

adluma

XLDnaute Nouveau
Re : urgent filtre chronologique ne marche pas sur vba

Merci beaucoup à tous,

Mais toutes vos formules aboutissent au même problème : le filtre fonctionne, mais aucune valeur ne s'affiche !
Il faut aller voir dans les paramètres du filtre chronologique pour mettre ok et ensuite : ça fonctionne. Mais les bonnes dates sont bien renseignées dans les paramètres du filtre !

Vraiment étrange, comme s'il fallait simuler un "ok" mais on ne comprend pas pourquoi ça ne marche pas!
 

STephane

XLDnaute Occasionnel
Re : urgent filtre chronologique ne marche pas sur vba

Bonjour

Ma réponse fonctionne.

Adluma, tu devrais mettre à jour les différents fils que tu as ouvert sur les différents forums avec la réponse que tu as finalement adoptée (voire un jeu de test) et qui répondait complètement à ton besoin et ton cas de figure.
 

Lone-wolf

XLDnaute Barbatruc
Re : urgent filtre chronologique ne marche pas sur vba

Bonjour à tous


triangle-spin.gif

@chris et aux autres aussi: ne serait-ce pas la même personne qui se fou de la gueule du monde depuis quelques jours???

koikili alias susaita alias marfipo alias adluma peut-être??? furieux-2.gif


koikili.jpg
 

Pièces jointes

  • furieux-2.gif
    furieux-2.gif
    5.1 KB · Affichages: 75
Dernière édition:

Barnes

XLDnaute Nouveau
Bonjour,

Nous essayons désespérément à partir de dates (dd/mm/yyyy hh:mm) contenues dans des cellules nommées de réaliser par une macro un filtre chronologique entre ces deux dates, et en fait, le filtre se met bien en place. Mais ne s'active pas et le tableau ne présente pas de données alors que les bonnes dates sont enregistrées dans les données du filtre. Par contre si on va sur les paramètres du filtre et qu'on clique sur OK, ça fonctionne, on ne comprend plus rien !!!!

Voici notre prog :

ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=4, Criteria1:= _
"<=" & Range("fin").Value & "", Operator:=xlAnd, Criteria2:=">=" & Range("debut").Value & ""

PLEASE HELP !!! C'est un projet urgent et nous sommes complètement perdues !

Merci d'avance !!!!!!!!
 

Barnes

XLDnaute Nouveau
Bonjour,
Ceci peut aider, copier sur site américain (Très pragmatique moins professeur et des lignes de codes hyper simplifiées).

Filtre chronologique à intégrer en correction d'une Macro qui enregistre ce que voulez faire mais, n’aboutit pas pour trier des dates !

Exemple, le tri disparait ou se fait mais que sur un tableau et pas les autres, parfois, pas avec le jumelage des tableaux (Excel le permet) ; les copies de lignes visibles comme par hasard celles invisibles suivent le copier/collé ... Ce sont ces lignes de codes qui vont (normalement) oblitérer la cohérence des fonctions que vous utiliserez par la suite ! Parce que mauvaise écriture = Dans un certain délai le temps se gâte et nous n'arrivons plus à trouver ou, nous galérons à trouver ce qui mer.. Bah simplement ce petit truc va corriger pas mal d'embrouilles dans les fichiers !

Principe : Capturer une cellule qui contient une date et l'utiliser dans critéria1 et ou 2.

Seul le format américain fonctionne comme d'ailleurs l'a dit et re-dit Pierre jean dans la réflexion des dates, il faut réfléchir américain ! Pierre jean à toujours écrit sur ses posts la ficelle qui débloque la réflexion aux difficultés de raisonner en construction du langage et comme il dit : Qu'est-ce que c'est toutes ses lignes presque inutiles, parfois sa raison l'emporte parce que sur ce filtre chronologique certains doivent galérer avec tout ce que j'ai lu sur ce code pouvant s'écrire en VBA (Perte de temps) surtout le bon ordre de marche : Bon, j'ai singer ses lignes ci-dessous qui fonctionnent très bien en 64 bits.

Aide surtout pour ceux qui n'arrivent pas à filtrer par enregistrement de leurs actions en Macro sur filtre chronologique. Faites l'enregistrement en macro et corriger avec ces lignes ci-dessous ! Précision "Croissant_date" est la feuille, [Prériode_Croissant_date_début] est le nom de la cellule où se trouve la date à prendre en référence pour critéria1 bien évidemment critéria2 c'est ...Fin].

Actuellement ce code macro est utilisé en Sub mais peut être en Private et servant à 17 classeurs pilotés par un seul formulaire (Raison de dire ce qui mer.., j'ai compris après). D'où l'importance de ces lignes de codes très fonctionnelles. En faire une fonction, OUI ! Si vous souhaitez retrouver des erreurs dans vos fichiers puisque si vous travaillez en 32 bits et évoluer, le code ne s'écrit plus exactement pareil !

ActiveSheet.ListObjects("Croissant_date").Range.AutoFilter Field:=1, _
Criteria1:=">=" & Format([Période_Croissant_date_début], "yyyy/mm/dd"), _
Operator:=xlAnd, Criteria2:="<=" & Format([Période_Croissant_date_Fin], "yyyy/mm/dd")

QUEL SOULAGEMENT ! Hein !
 

job75

XLDnaute Barbatruc
Bonjour à tous,

Aucun problème si l'on utilise la propriété .Value2 :
Code:
Sub Filtre()
ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=4, Criteria1:= _
"<=" & Range("fin").Value2, Operator:=xlAnd, Criteria2:=">=" & Range("debut").Value2
End Sub
Testez le fichier joint.

A+
 

Pièces jointes

  • Filtre(1).xlsm
    24.1 KB · Affichages: 36

job75

XLDnaute Barbatruc
Aucun problème si l'on utilise la propriété .Value2
Mais s'il y a des heures il faut remplacer la virgule par le point :
Code:
Sub Filtre()
ActiveSheet.ListObjects("Table2").Range.AutoFilter Field:=4, Criteria1:= _
"<=" & Replace([fin].Value2, ",", "."), Operator:=xlAnd, Criteria2:=">=" & Replace([debut].Value2, ",", ".")
End Sub
Fichier (2).
 

Pièces jointes

  • Filtre(2).xlsm
    24.2 KB · Affichages: 31

job75

XLDnaute Barbatruc
Re,

Le filtre avancé fonctionne toujours très bien :
Code:
Sub Filtre()
With ActiveSheet.ListObjects("Table2").Range
    [Criteres].Cells(2) = "=AND(" & .Cells(2, 4).Address(0) & ">=debut," & .Cells(2, 4).Address(0) & "<=fin)"
    .AdvancedFilter xlFilterInPlace, [Criteres]
    [Criteres].Cells(2) = ""
End With
End Sub

Sub RAZ()
With ActiveSheet
    If .FilterMode Then .ShowAllData
End With
End Sub
Fichier (3).

A+
 

Pièces jointes

  • Filtre(3).xlsm
    25.2 KB · Affichages: 45

Discussions similaires

Réponses
2
Affichages
99
Réponses
8
Affichages
843

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 847
dernier inscrit
Djigbenou