yojema
XLDnaute Occasionnel
Bonjour le forum
J'ai un petit code VBA qui me permet d'automatiser certaines saisies récurrentes qui fonctionne parfaitement
et j'aurais besoin de le faire évoluer un peu apporter un peu , j'ai essayer de le faire mais je m'y prend très mal :
en jaune la ligne désactivé de ma tentative raté de modifier la ligne du dessus qui elle fonctione
ce que je souhaiterai c'est que ça saisisse "nuit" de 22 h a 5 h puis "matin" de 6 heure a 14 heure puis "après-midi" de 14 h a 22 heure !
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, n%
If Target.Row < 4 Then Exit Sub
If Target.Column < 4 Or Target.Column > 23 Then Exit Sub
Application.EnableEvents = False
For Each r In Target.Rows
n = r.Row
If Application.CountA(Me.Range(Cells(n, 4), Cells(n, 13))) > 0 Then
If Me.Cells(n, 24).Value = "" Then
Me.Cells(n, 25).Value = Format(Date, "[$-40C]Dddd")
Me.Cells(n, 26).Value = IIf(Time >= 0.6, "après-midi", "matin")
'Me.Cells(n, 26).Value = IIf(Time >= 0.6, "nuit", IIf(Time >= 0.5, "après-midi", "matin"))
Me.Cells(n, 29).Value = Date
End If
Else
Me.Range(Cells(n, 4), Cells(n, 13)).ClearContents
Me.Cells(n, 24).ClearContents
Me.Cells(n, 25).ClearContents
Me.Cells(n, 26).ClearContents
Me.Cells(n, 29).ClearContents
End If
Next r
Application.EnableEvents = True
End Sub
!Voila merci si vous avez le temp d 'y jeter un coup d'oeil
J'ai un petit code VBA qui me permet d'automatiser certaines saisies récurrentes qui fonctionne parfaitement
et j'aurais besoin de le faire évoluer un peu apporter un peu , j'ai essayer de le faire mais je m'y prend très mal :
en jaune la ligne désactivé de ma tentative raté de modifier la ligne du dessus qui elle fonctione
ce que je souhaiterai c'est que ça saisisse "nuit" de 22 h a 5 h puis "matin" de 6 heure a 14 heure puis "après-midi" de 14 h a 22 heure !
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, n%
If Target.Row < 4 Then Exit Sub
If Target.Column < 4 Or Target.Column > 23 Then Exit Sub
Application.EnableEvents = False
For Each r In Target.Rows
n = r.Row
If Application.CountA(Me.Range(Cells(n, 4), Cells(n, 13))) > 0 Then
If Me.Cells(n, 24).Value = "" Then
Me.Cells(n, 25).Value = Format(Date, "[$-40C]Dddd")
Me.Cells(n, 26).Value = IIf(Time >= 0.6, "après-midi", "matin")
'Me.Cells(n, 26).Value = IIf(Time >= 0.6, "nuit", IIf(Time >= 0.5, "après-midi", "matin"))
Me.Cells(n, 29).Value = Date
End If
Else
Me.Range(Cells(n, 4), Cells(n, 13)).ClearContents
Me.Cells(n, 24).ClearContents
Me.Cells(n, 25).ClearContents
Me.Cells(n, 26).ClearContents
Me.Cells(n, 29).ClearContents
End If
Next r
Application.EnableEvents = True
End Sub
!Voila merci si vous avez le temp d 'y jeter un coup d'oeil