Bonjour, je sais que le problème est usuel mais je n'ai pas trouvé la solution.

J'ai fait le code suivant qui fonctionnait bien.
J'ai ajouté des données à une colonne existante (mais vide) du "Listobject" à filtrer et modifié une variable non utilisée dans le filtre.
Et mon filtrage ne fonctionne plus : aucune correspondance alors qu'il en existe.

Incompréhensible.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    'Filtre avec la date au format US provenant du bouton cliqué
    Dim DatClic As String
    DatClic = Mid(Controls("LblJour" & IndexBoutonClic).Caption, 1 + InStr(Controls("LblJour" & IndexBoutonClic).Caption, Chr(10)))
 
    'Filtre pour les différentes périodes : dates de certaines périodes
    Dim PremierLundiAnnuel As Date
    PremierLundiAnnuel = DateSerial(Range("_Annee").Value, 9, 1) - Weekday(DateSerial(Range("_Annee").Value, 9, 1), vbMonday) + 1
    NoSemaineAnnuelle = (CDate(DatClic) - PremierLundiAnnuel) \ 7
    Dim Period() As String
    ReDim Period(1 To 3)
    Period(1) = "ab"       'Toutes les semaines
    Period(2) = "12"       'Tous les semestres
    Period(3) = IIf(NoSemaineAnnuelle Mod 2 = 0, "a", "b")          'semaine a si N°Pair sinon
    If CDate(DatClic) > Range("Semestre2").Value Then               'Test si on est au second semestre
        ReDim Preserve Period(1 To 4)                               'Si on est 2e semestre alors oui ajoute le code "2"
        Period(4) = "2"
    End If
 
    ' filtrage
    Worksheets("Dates Annuelles Générées").ListObjects("TabHoraireHebdo").Range.AutoFilter Field:=1, Operator:=xlFilterValues, Criteria1:=Array(CDate(DatClic) + 15)
    ActiveSheet.ListObjects("TabHoraireHebdo").Range.AutoFilter Field:=4, Criteria1:=Array(Period()), Operator:=xlFilterValues
Nom : Sans titre2.png
Affichages : 165
Taille : 8,7 Ko

j'ai mis "Criteria1" à la date au format texte version Français ou version US, j'ai converti la date texte avec "DateSERIAL()" ou "DateValue()" puis repasser au format chaine...

Rien n'y fait.

Avez-vous une solution ?

ESVBA