XL 2021 faire évoluer un code VBA

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
 

Statistiques des forums

Discussions
312 210
Messages
2 086 281
Membres
103 170
dernier inscrit
HASSEN@45