retour format heure

oorphee

XLDnaute Junior
Bonjour,

J'aimerais pouvoir taper 1300 dans une cellule et que celle-ci me renvoit l'heure au format 13:00, est-ce possible ?
Quelle astuce ?

Merci.
 

jp14

XLDnaute Barbatruc
Re : retour format heure

Bonjour

Ci dessous une macro événementielle qui permet de résoudre le problème
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If flag = True Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("a1:b24")) Is Nothing Then
    flag = True

    Select Case Len(Target.Value)
        Case 1
            Target.Value = "00:0" & Target.Value
        Case 2
            Target.Value = "00:" & Target.Value
        Case 3
            Target.Value = "0" & Mid(Target.Value, 1, 1) & ":" & Mid(Target.Value, 2)
        Case 4
            Target.Value = Mid(Target.Value, 1, 2) & ":" & Mid(Target.Value, 3)
    End Select

End If
flag = False

End Sub

Si on tape 1 elle affiche 00:01
10 00:10
100 01:00
1300 13:00
Ce code est à modifier en fonction de la zone ou cette macro s'applique.

Range("a1:b24") la macro est valide pour la zone a1:b24

A tester et à modifier

JP
 

anuky

XLDnaute Occasionnel
Re : retour format heure

une solution par formule :


=CONCATENER(GAUCHE(A1;2);":";DROITE(A1;2))


A1 contiens 1300 que tu veux transformer en 13:00 dans la celule qui contient la formule

la fonction CONCATENER permet d'assembler plusieurs chaines de caractères pour n'en former qu'une.

GAUCHE(A1;2) récupère les 2 premières valeurs de la cellule A1

DROITE(A1;2) récupère les 2 dernières valeurs de la cellule A1



en espérant que cela t'aide
 

Statistiques des forums

Discussions
312 345
Messages
2 087 485
Membres
103 557
dernier inscrit
gerard.messerlin68@orange