Convertir nombre vers heure

Résolu
Amin -  
 Amin -
Bonjour,

Est-ce qu'il y a un moyen de convertir les entrées numériques vers le format heure?

par exemple, je me place sur la cellule A1, je tape 1030,en appuyant sur la touche entré ou sans rien faire, je voudrais que ça affiche 10h30 ou 10:30.

Merci d'avance pour votre précieuse réponse

A voir également:

1 réponse

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour
valable à partir jusqu'à 2400 dans la zone A2:M12
se déclenche appui sur "entr"
a installer dans l'éditeur VBA module de la feuille

Option Explicit
'--------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim minut As Double, heure As Double
Static Flag As Boolean
If Not Intersect(Target, Range("A2:M12")) Is Nothing And _
IsNumeric(Target) And _
Target < 2400 And _
Not Flag Then
Flag = True
minut = (Right(Target, 2)) * 1 / 1440
If Len(Target) > 2 Then heure = (Left(Target, Len(Target) - 2)) * 1 / 24
Target = heure + minut
Target.NumberFormat = "hh:mm;@"
End If
Flag = False
End Sub


comment installer ?
copier cette macro
clic droit sur le nom de l'onglet de la feuille concernée (en bas de l'écran)
visualiser le code
coller

-1
Amin
 
Bonjour Michel_m,

ça marche !!!! merci bcp !!!

Mais il y a un petit soucis (mais pas très gênant) ... quand je supprime une cellule, un message error qui s'affiche
"Microsoft Visual Basic
Erreur d'exécution « 13 »:
Incompatibilité de type"

Est-ce normal ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314 > Amin
 
Bonjour

et un "AND" en + avec la suppression de donnée!
Option Explicit
'--------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim minut As Double, heure As Double
Static Flag As Boolean
If Not Intersect(Target, Range("A2:M12")) Is Nothing And _
IsNumeric(Target) And _
Target < 2400 And _
Target <> "" And _
Not Flag Then
Flag = True
minut = (Right(Target, 2)) * 1 / 1440
If Len(Target) > 2 Then heure = (Left(Target, Len(Target) - 2)) * 1 / 24
Target = heure + minut
Target.NumberFormat = "hh:mm;@"
End If
Flag = False
End Sub
0
Amin
 
Génial... Un grand Merci pour vous !!!
0