coucou tous le monde!!
voila en fait j'ai récupérer un code pour filtre une feuille puis recopier le contenu sur une autre. sa a l'air de bien fonction lorsque j'active la macro qui me permet d'effacer les données recopiée ainsi que lorsque je choisie la date pour filtrer mais il y un problème lorsque le filtre veut x'executer:
le debogeur se lance et me marque "erreu d'execution 1004"
erreur defini par l'application opu par l'objet
voila mon code
la partie rouge est celle remarquer par le debogueur comme mauvaise.
si quelqu'un a une idée je suis tout ouïe!!!
voila en fait j'ai récupérer un code pour filtre une feuille puis recopier le contenu sur une autre. sa a l'air de bien fonction lorsque j'active la macro qui me permet d'effacer les données recopiée ainsi que lorsque je choisie la date pour filtrer mais il y un problème lorsque le filtre veut x'executer:
le debogeur se lance et me marque "erreu d'execution 1004"
erreur defini par l'application opu par l'objet
voila mon code
Code:
Public la_date As Variant
Public DerL As Long
Public WS As Worksheet
Sub Macro_OK()
'suppression des filtres existants
For Each WS In Worksheets
If WS.AutoFilterMode = True Then WS.AutoFilterMode = False
Next
Application.ScreenUpdating = False
la_date = Format(Date, "mm/dd/yy")
a_filtre ("GAZ")
a_filtre ("WAN")
a_filtre ("STPS.ELEC")
Sheets("DISPONIBILITE").Columns("A:M").Columns.AutoFit
le_filtre
Application.ScreenUpdating = True
End Sub
Sub efface_agenda()
Sheets("DISPONIBILITE").Range(Cells(2, 1), Cells(200, 20)).Clear
For Each WS In Worksheets
If WS.AutoFilterMode = True Then WS.AutoFilterMode = False
Next
End Sub
Sub a_lademande()
'suppression des filtres existants
For Each WS In Worksheets
If WS.AutoFilterMode = True Then WS.AutoFilterMode = False
Next
Application.ScreenUpdating = False
la_date = Format(InputBox("Saisir la date désirée"), "mm/dd/yy")
a_filtre ("GAZ")
a_filtre ("WAN")
a_filtre ("STPS.ELEC")
Sheets("DISPONIBILITE").Columns("A:M").Columns.AutoFit
le_filtre
Application.ScreenUpdating = True
End Sub
Sub le_filtre()
Dim WS As Worksheet
For Each WS In Worksheets
If WS.AutoFilterMode = True Then WS.ShowAllData
Next
End Sub
Sub a_filtre(feuille As String)
DerL = Sheets("DISPONIBILITE").Cells(65536, 1).End(xlUp).Row + 1
With Worksheets(feuille)
.Range("A1").Copy Sheets("DISPONIBILITE").Range("A" & DerL)
.Range("A2").AutoFilter _
1, ">=" & la_date, xlAnd, "<=" & la_date
[COLOR="Red"][B].AutoFilter.Range.Copy Sheets("DISPONIBILITE").Range("A" & DerL + 1)[/B][/COLOR]
End With
End Sub
la partie rouge est celle remarquer par le debogueur comme mauvaise.
si quelqu'un a une idée je suis tout ouïe!!!