1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim F As String
'seules sont prisent en compte les colonnes D et K
If Target.Column <> 4 And Target.Column <> 11 Then Exit Sub
If Target.Count > 1 Then Exit Sub
'défini la plage sur la colonne D de la feuille "Relevés" à partir de D4
With Worksheets("Relevés"): Set Plage = .Range(.Cells(4, 4), .Cells(.Rows.Count, 4).End(xlUp)): End With
'mémorise le format de la plage ,puis la pace esr Standard afin d'avoir des valeur de type Long
F = Plage.NumberFormat
Plage.NumberFormat = "General"
'effectue la recherche de la date en type Long
Set Cel = Plage.Find(CLng(Range("B2").Value), , xlValues, xlWhole)
'puis rétabli le format
Plage.NumberFormat = F
'si trouvée, inscrit les valeurs dans les cases correspondantes
If Not Cel Is Nothing Then
Select Case Target.Column
Case 4: Cel.Offset(, Target.Row - 7).Value = Cel.Offset(, Target.Row - 7).Value + 1
Case 11: Cel.Offset(, Target.Row).Value = Cel.Offset(, Target.Row).Value + 1
End Select
End If
End Sub |
Partager