Implanter les ":" dans une cellule

xeration

XLDnaute Nouveau
Bonjour à tous,

Peut être pourriez vous m'aider à résoudre mon problème !

Alors voilà j'ai réaliser un petit fichier excel où, dans une feuille, dans la cellule, par exemple, A1 les personnes devront rentrer une heure d'arrivé (format HH:MM) puis dans la cellule A2, une heure de sortie (Format HH:MM eglament), suite à ces deux horaires rentré, un tableau s'actualise coloriant les cellules entre ces 2 horaires.

Ma question est la suivant, les personnes qui utilisent se programment mettent rarement les " : " du format demandé, ce qui fait bugger mon application. Il n'y aurais pas un moyen qui fait que les : soit déjà dans la cellule ?
Ainsi donc si on taperait 850, dans la cellule s’afficherait 8:50

Merci d'avance pour votre aide, si je n'ai pas été clair, faite le moi savoir ! :cool:
 

Arcangeli

XLDnaute Occasionnel
Re : Implanter les ":" dans une cellule

Salut Xeration,
Essaye la Vba suivante:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Plage affectée : A2 - F655536
If Target.Row < 2 Or Target.Column >6 Then Exit Sub
If Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
Select Case Len(Target)
Case 4
Target = CDate(Left(Target, 2) & ":" & Right(Target, 2))
Case 3
Target = CDate(Left(Target, 1) & ":" & Right(Target, 2))
Case 1, 2
Target = CDate("0:" & Target)
End Select
Target.NumberFormat = "h:mm"
Application.EnableEvents = True
End Sub
 

JBOBO

XLDnaute Accro
Re : Implanter les ":" dans une cellule

Bonjour

Je viens de tester et à ma grande surprise ça marche : format personnaliser : 00":"00 . Tu tapes 1200, il affiche 12:00 et si tu fais pareil dans une autre cellule 1700 affiche 17:00 et qu'ensuite dans une 3ème tu fais la différence, le calcul se fait.
 

Victor21

XLDnaute Barbatruc
Re : Implanter les ":" dans une cellule

Bonjour, JBOBO
Bonjour
Je viens de tester et à ma grande surprise ça marche : format personnaliser : 00":"00 . Tu tapes 1200, il affiche 12:00 et si tu fais pareil dans une autre cellule 1700 affiche 17:00 et qu'ensuite dans une 3ème tu fais la différence, le calcul se fait.

Malheureusement, et pour plagier une publicité célèbre : ça la couleur des heures, ça a le goût des heures, mais ce ne sont pas des heures. (1159+0002 donnent 11:61)

Pour répondre à xeration, les seules solutions à ma connaissance sans VBA sont de modifier les formules de calcul ou d'utiliser des cellules différentes pour la saisie et pour le calcul. Mais sans fichier en exemple, difficile d'être plus précis...
 

xeration

XLDnaute Nouveau
Re : Implanter les ":" dans une cellule

Bonjour à tous,

J'ai finalement fini par contourné le problème, j'ai bourrer les cellules de code VBA avec les erreurs les plus communes, pour ceux que ça intéresse :
Code:
If Range("N29").Value Like "*;*" Then
   GoTo erreurs
   
   Else
   
   If Range("L29").Value Like "*;*" Then
   GoTo erreurs
   
   Else
   
   If Range("N29").Value Like "*h*" Then
   GoTo erreurs
   
   Else
   
   If Range("L29").Value Like "*h*" Then
   GoTo erreurs
   
   Else
   
   If Range("L29").Value Like "*/*" Then
   GoTo erreurs
   
   Else
   
     If Range("N29").Value Like "*/*" Then
   GoTo erreurs

else

   If Range("L29").Value Like "*-*" Then
   GoTo erreurs
   
   Else
   
     If Range("N29").Value Like "*-*" Then
   GoTo erreurs

Erreurs est au bout du programme, donc si les personnes entre ces valeurs, le programme ne s'exécutera pas.
Merci tout de même pour votre aide !


Cordialement,
 

Modeste geedee

XLDnaute Barbatruc
Re : Implanter les ":" dans une cellule

Bonsour®

pourquoi ne pas utiliser la validation...

Données > validation des données > autoriser heure
min 00:00
max 23:59:59

idéalement documenter egalement : message de saisie et alerte d'erreur
validation heure.jpg
 

xeration

XLDnaute Nouveau
Re : Implanter les ":" dans une cellule

Bonsour®

pourquoi ne pas utiliser la validation...

Données > validation des données > autoriser heure
min 00:00
max 23:59:59

idéalement documenter egalement : message de saisie et alerte d'erreur
Regarde la pièce jointe 216943

Je ne connaissais pas, merci pour cette astuce, ça oblige les utilisateurs à mettre ces fameux ":" !
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 489
Messages
2 088 854
Membres
103 975
dernier inscrit
denry