Bonjour à tous,
mon problème ne doit pas être bien épineux mais il suffit à me coincer dans mon cheminement.
Voici les faits : j'ai réalisé une macro qui retraite une base de données et jusque là tout va bien (enlever les lignes vides + combler les colonnes vide).
Mon problème se situe au niveau des filtres automatiques : en effet, mon souhait serait que la macro active le filtre automatique sur le table. Pb, lorsque le filtre automatique est déjà activé, la macro déactive le filtre auto !
je recherche donc une solution pour toujours avoir le filtre automatique et ce quelque soit la position initiale.
merci d'avances !
voici maintenant mon code :
Private Sub Treatfile_Click()
Dim NombreVal As Integer, Lig As Integer
With Sheets("Gravité")
For Lig = 5000 To 4 Step -1
NombreVal = .Application.WorksheetFunction.CountA(Sheets("Gravité").Rows(Lig))
If NombreVal = 0 Then
.Rows(Lig).EntireRow.Delete
End If
Next
End With
With Sheets("Gravité")
x = Range("g65536").End(xlUp).Row
For y = 2 To x
If Range("f" & y) = "" Then Range("f" & y) = Range("f" & y - 1)
Next
End With
Range("A4:K4").Select
If ActiveSheet.FilterMode = False Then
Selection.AutoFilter
End If
End Sub
mon problème ne doit pas être bien épineux mais il suffit à me coincer dans mon cheminement.
Voici les faits : j'ai réalisé une macro qui retraite une base de données et jusque là tout va bien (enlever les lignes vides + combler les colonnes vide).
Mon problème se situe au niveau des filtres automatiques : en effet, mon souhait serait que la macro active le filtre automatique sur le table. Pb, lorsque le filtre automatique est déjà activé, la macro déactive le filtre auto !
je recherche donc une solution pour toujours avoir le filtre automatique et ce quelque soit la position initiale.
merci d'avances !
voici maintenant mon code :
Private Sub Treatfile_Click()
Dim NombreVal As Integer, Lig As Integer
With Sheets("Gravité")
For Lig = 5000 To 4 Step -1
NombreVal = .Application.WorksheetFunction.CountA(Sheets("Gravité").Rows(Lig))
If NombreVal = 0 Then
.Rows(Lig).EntireRow.Delete
End If
Next
End With
With Sheets("Gravité")
x = Range("g65536").End(xlUp).Row
For y = 2 To x
If Range("f" & y) = "" Then Range("f" & y) = Range("f" & y - 1)
Next
End With
Range("A4:K4").Select
If ActiveSheet.FilterMode = False Then
Selection.AutoFilter
End If
End Sub