Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Forcer format heure dans une plage de cellule

Mimi

XLDnaute Occasionnel
Bonjour à tous,
J'ai trouvé ceci sur un forum :
Lorsque j'écris 1200 sa me transforme en A1 12:00.

Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False
x = Format(zz, "0000")
zz.Value = Left(x, 2) & ":" & Right(x, 2)
Application.EnableEvents = True
End Sub

Mon problème c'est en A1 seulement et je voudrais que ce soit sur une plage de cellule exemple : D2300
Ensuite dans le même principe et dans une plage de cellule C2:C300 est-il Possible de faire ceci :
j'écris 26112019 sa se transforme en 26/11/2019.
D'avance je vous remercie
Mimi
 

fanfan38

XLDnaute Barbatruc
Bonjour,
Un fichier exemple est TOUJOURS le bienvenu...
VB:
Private Sub Worksheet_Change(ByVal zz As Range)
  Dim x As String
If zz.Column < 3 Or zz.Column > 4 Then Exit Sub
If zz.Row < 2 Or zz.Row > 300 Then Exit Sub
Application.EnableEvents = False
If zz.Column = 4 Then
  x = Format(zz, "0000")
  zz.Value = Left(x, 2) & ":" & Right(x, 2)
Else
  x = Format(zz, "00000000")
  zz.Value = Left(x, 2) & "/" & Mid(x, 3, 2) & "/" & Right(x, 4)
End If
Application.EnableEvents = True
End Sub

A+ François
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…