Lorsque je sélectionne le 01/01/2020 par exemple la macro fait un filtre avec comme valeur recherchée : 1/1/2020, ce qui plante la macro étant donné que les 0 ne sont pas repris.
Si vous avez des dates au format "j/m/aaaa", c'est quelles sont au format texte, mais j'ai fait des essais, ça marche.
Question: ces dates sont bien présentent dans la feuille "Copie_FEC" ? sinon il faut faire une copie de la feuille "FEC" en cliquant sur le bouton vert.
Essayez ceci:
Sub Sauvegarde_Filtre()
Dim f1 As Worksheet, f2 As Worksheet, f3 As Worksheet
Dim DerLig As Long, NbCol As Long, Col As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set f1 = Sheets("FEC")
Set f2 = Sheets("Copie_FEC")
If ActiveSheet.Name = "FEC" Then
If ActiveCell.Column < 4 Or ActiveCell.Column > 5 Then
MsgBox "Veuillez sélectionner une date ou un N° de compte"
Exit Sub
End If
With f1.AutoFilter
DerLig = f1.Range("A1").CurrentRegion.Rows.Count
End With
If ActiveCell.Column = 4 Then
Col = 4
Crit = CDate(ActiveCell.Value)
ElseIf ActiveCell.Column = 5 Then
Col = 5
Crit = CLng(ActiveCell.Value)
End If
On Error Resume Next
If Col = 5 Then
Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = "N°" & Crit
Else
Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = Replace(Crit, "/", "-")
End If
If Err.Number <> 0 Then
MsgBox "La feuille existe déjà"
ActiveSheet.Delete
Exit Sub
End If
Set f3 = Sheets(ActiveSheet.Name)
f2.Range("A1:F" & DerLig).AutoFilter Field:=Col, Criteria1:=Crit
f2.Range(f2.Cells(1, "A"), f2.Cells(DerLig, "F")).SpecialCells(xlVisible).Copy f3.Range("A1")
f3.Columns("C:C").NumberFormat = "0"
f3.Cells.EntireColumn.AutoFit
f2.AutoFilterMode = False
f2.Range("A1:F1").AutoFilter
Else
MsgBox "Veuillez sélectionner une cellule de la feuille ""FEC"""
End If
Set f1 = Nothing
Set f2 = Nothing
Set f3 = Nothing
End Sub