Saisie heure dans cellule et validation de la saisie

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

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
 

blord

XLDnaute Impliqué
Re : Saisie heure dans cellule et validation de la saisie

Bonjour James007, le forum,

The answer to the question is : Yes ! Absolutely perfect....

Ça répond tout à fait à ce que je voulais faire, merci beaucoup pour ta réponse !

Benoit Lord
 

job75

XLDnaute Barbatruc
Re : Saisie heure dans cellule et validation de la saisie

Bonjour Aurélie,

Dans la macro de James007 au lieu de :

Code:
Target.Formula = CDate(DateStr)
Target.NumberFormat = "hh:mm"
écrivez :

Code:
Target = DateStr
Target.NumberFormat = "[hh]:mm"
A+
 

Aurelie ACPP

XLDnaute Nouveau
Re : Saisie heure dans cellule et validation de la saisie

Re, Re,

En fait j'ai quand même un autre petit problème, c'est que j'ai plusieur cellule a configurer dans le même cas et je n'y arrive pas.
Par exemple, il faudrait que cette règle s'applique sur les cellules de la plage B10:D14.

Comment dois-je faire ?

Merci encore d'avance.

Aurélie.
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 726
Membres
110 552
dernier inscrit
jasson