Cherche code VBA pour format heure

lanoe

XLDnaute Occasionnel
Bonjour,

Un petit problème : J’ai en A1 =maintenant() qui me donne l’heure sous format 12 :55. J’ai un macro qui me fixe cette heure en A2 avec la fonction copie spéciale valeur. Sous le même format. Mais si je désire changer A2 manuellement, je suis obligé de saisir 12 « : » 42 hors je désire saisir uniquement 1242, pour des questions de rapidité de saisie ; je ne veux pas entrer les « : ». Il me semble qu’un petit code VBA doit pouvoir m’aider, mais mes compétences dans le domaine sont trop limitées.
Je dois aussi pouvoir appliquer cette fonction en b3 ;c4.
NB : je n’additionne pas les heures par la suite donc pas de soucis de ce coté.

Merci d’avance
Lanoé
 

Dull

XLDnaute Barbatruc
Re : Cherche code VBA pour format heure

Salut laoné, le Forum

Click droit sur la cellule
Format de cellule
Onglet Nombre
Catégorie Personnalisée

Type ##\:##

A Reproduire la mise en forme pour chaque cellule

Quand tu taperas 1200 Entrée
la cellule prendra la Forme 12:00

Bonne Journée
 

Guiv

XLDnaute Occasionnel
Re : Cherche code VBA pour format heure

Bonjour,
Pas très joli mais ça fonctionne:

Sub WorkSheet_Change(ByVal Target As Range)
Dim a As Integer, b As Integer, c As Integer, d As Integer
If Target.Count > 1 Then Exit Sub
If Target = Range("A2") Or Target = Range("B3") Or Target = Range("C4") Then
If Len(Target.Value) <> 4 Then
Exit Sub
Else
a = Mid(Target.Value, 1, 1)
b = Mid(Target.Value, 2, 1)
c = Mid(Target.Value, 3, 1)
d = Mid(Target.Value, 4, 1)
Target.Value = a & b & ":" & c & d
End If
End If
End Sub
 

lanoe

XLDnaute Occasionnel
Re : Cherche code VBA pour format heure

Bonjour Guiv et Dull,

Merci pour vos réponses la solution du Guiv, convient plus, car elle me permet de réaliser des aller retour entre le macro et la saise. Les aller retour ne fonctionnais pas avec la solution de Dull.

Merci encore

Lanoe
 

lanoe

XLDnaute Occasionnel
Re : Cherche code VBA pour format heure

Bonjour

Je reviens sur le code proposé par Guiv aprés quelques jours. La fonction "maintenant" fonctionne bien. Par contre j'ai un probleme avec le code quand je saisis manuellement 1555 la réponse est bien 15:55 par contre quand je saisis 940 ou 0940, j'obtiens 00:00

Lanoe
 

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia