Bonjour j'aimerais savoir si il etait possible de faire lorsque que je lance un worksheetchange il ferifie apres les case cocher pour les remasquer ?
Dim OS As Variant
Dim F As Worksheet
Dim I As Byte
Application.ScreenUpdating = False
If Target.Row < 6 Or Target.Row > 65 Then Exit Sub
If Target.Column < 9 Or Target.Column > 19 Then Exit Sub
Cancel = True
Select Case Target.Column
Case 9
Set OS = Sheets(Array("HJanvier", "Janvier", "BJanvier"))
Case 10
Set OS = Sheets(Array("HFevrier", "Fevrier", "BFevrier"))
Case 11
Set OS = Sheets(Array("HMars", "Mars", "BMars"))
Case 12
Set OS = Sheets(Array("HAvril", "Avril", "BAvril"))
Case 13
Set OS = Sheets(Array("HMai", "Mai", "BMai"))
Case 14
Set OS = Sheets(Array("HJuin", "Juin", "BJuin"))
Case 15
Set OS = Sheets(Array("HJuillet", "Juillet", "BJuillet"))
Case 16
Set OS = Sheets(Array("HAout", "Aout", "BAout"))
Case 16
Set OS = Sheets(Array("HSetempbre", "Septembre", "BSeptembre"))
Case 17
Set OS = Sheets(Array("HOctobre", "Octobre", "BOctobre"))
Case 18
Set OS = Sheets(Array("HNovembre", "Novembre", "BNovembre"))
Case 19
Set OS = Sheets(Array("HDecembre", "Decembre", "BDecembre"))
End Select
Target.Value = IIf(Target.Value = "X", "", "X")
For Each F In OS
If F.Range("A6") = "Jours" And F.Range("A8") = Range("X26") Then
For I = 9 To 65
If F.Range("A" & I) = Cells(Target.Row, 8).Value Then F.Rows(I).Hidden = Target.Value = "X"
Next I
End If
Next F
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Dim WS As Worksheet
Application.ScreenUpdating = False
If Target.Column <> 8 Then Exit Sub
For Each WS In Sheets(Array("HJanvier", "HFevrier", "HMars", "HAvril", "HMai", "HJuin", "HJuillet", "HAout", "HSeptembre", "HOctobre", _
"HNovembre", "HDecembre", "BJanvier", "BFevrier", "BMars", "BAvril", "BMai", "BJuin", "BJuillet", "BAout", "BSeptembre", "BOctobre", _
"BNovembre", "BDecembre", "Bilan", "Janvier", "Fevrier", "Mars", "Avril", "Mai", "Juin", _
"Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Decembre"))
If Not Intersect(Target, Range("H5:H69")) Is Nothing Then
WS.Unprotect "azerty"
WS.Range("$A$8:$A$67").Calculate
WS.Range("$A$8:$A$67").AutoFilter Field:=1, Criteria1:="<>", Visibledropdown:=False
WS.Protect ("azerty"), DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True, AllowFiltering:=True
End If
Next WS
Call personnel
Application.ScreenUpdating = True
End Sub
merci beaucoup