blord
XLDnaute Impliqué
Bonjour à tous,
Je tente d'utiliser le code suivant pour :
1- Éviter que l'utilisateur soit obliger de saisir les ":"
2- Valider que la valeur saisie dans la cellule est une heure valide
Peu importe ce que je saisie, la cellule prend toujours la valeur 0:00 et la validation ne fonctionne pas. Si je saisie du texte, il ne retourne aucun message d'erreur.
Autre problème possible, si je saisie 0812, il ne considérera peut-être pas la saisie comme ayant 4 caractères, le 0 n'étant pas significatif pour Excel.
Note : Le format de la cellule est hh:mm
Si une âme charitable avait la patience d'éclairer ma lanterne, se serait très apprécié...
Merci beaucoup !
Benoit Lord
Je tente d'utiliser le code suivant pour :
1- Éviter que l'utilisateur soit obliger de saisir les ":"
2- Valider que la valeur saisie dans la cellule est une heure valide
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$7" Then
If Target.Value <> "" Then
If Len(Target.Value) = 4 Then Target.Value = Mid(Target, 1, 2) & ":" & Mid(Target, 3, 2)
Else
MsgBox "Heure invalide"
Target.ClearContents
Cancel = True
Exit Sub
End If
'Valide que la valeur entrée est une heure valide
If Not IsDate(Format(Target, "hh:mm")) Then
MsgBox "Heure invalide"
Target.ClearContents
Cancel = True
End If
Else
Target.ClearContents
End If
End Sub
Peu importe ce que je saisie, la cellule prend toujours la valeur 0:00 et la validation ne fonctionne pas. Si je saisie du texte, il ne retourne aucun message d'erreur.
Autre problème possible, si je saisie 0812, il ne considérera peut-être pas la saisie comme ayant 4 caractères, le 0 n'étant pas significatif pour Excel.
Note : Le format de la cellule est hh:mm
Si une âme charitable avait la patience d'éclairer ma lanterne, se serait très apprécié...
Merci beaucoup !
Benoit Lord