Insérer des heures rapidement (4 chiffres sans

Bonjour,

J'ai un tableur Excel avec des additions et des soustractions d'heures et j'aimerais que dans certaines cellules je puisse écrire des heures en 4 chiffres sans ":" entre les heures et les minutes.

Exemple: j'aimerai écrire 0730 et que ça me note 07:30:00 dans la cellule.

Avez-vous une astuce?

Meilleures salutations,

Thierry

18heures.xlsx (59.19 Ko)

Bonjour,

En bidouillant une vieille macro retrouvée, je pense que cela répondra à votre demande.

Cette macro s'applique uniquement aux colonnes H,J,L et N (c'est modifiable). Il faut rentrer les 4 chiffres sans le séparateur et sans les secondes (par défaut "00").

Bonne continuation.

AL 22

26heures.xlsm (65.67 Ko)

Bonjour AL,

Ca fonctionne nickel.

Merci et bon week-end !

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
    If Not Intersect([C2:C225,H2:H225,J2:J225,L2:L225,N2:N225], Target) Is Nothing And Target.Count = 1 Then
        Application.EnableEvents = False
            If Target <> 0 Then
                If InStr(Target.Text, ":") = 0 Then
                    Temp = Format(Target, "0000")
                    Temp = Left(Temp, 2) & ":" & Right(Temp, 2) & ""
                        If IsDate(Temp) Then
                            Target = Temp
                        End If
                End If
            End If
        Application.EnableEvents = True
    End If
End Sub

Ce code ci-dessous fonctionne aussi pas trop mal:

Private Sub Worksheet_Change(ByVal Target As Range)
Set Target = Intersect(Target, UsedRange)
If Target Is Nothing Then Exit Sub
Dim x$
Application.EnableEvents = False 'désactive les évènements
For Each Target In Target 'si entrées multiples
    If CStr(Target) Like "###" Or CStr(Target) Like "####" Then
        x = Format(Target, "0000")
        If Left(x, 2) < "24" And Right(x, 2) < "60" Then Target = Left(x, 2) & ":" & Right(x, 2)
    End If
Next
Application.EnableEvents = True 'réactive les évènements
End Sub

Meilleures salutations,

Bonjour le forum,

Le code ci-dessous fonctionne très bien pour l'insertion rapide d'une heure mais est-il possible de l'adapter pour pouvoir insérer également une date rapidement en 6, 7 ou 8 chiffres et que ça note cette date en 6 chiffres avec un points entre le jour.mois.année (112022 -> 01.01.2022) ?

J'imaginais qqch du genre mais ça me note une date complètement différente:

Private Sub Worksheet_Change2(ByVal Target As Range)
Set Target = Intersect(Target, UsedRange)
If Target Is Nothing Then Exit Sub
Dim x$
Application.EnableEvents = False 'désactive les évènements
For Each Target In Target 'si entrées multiples
    If CStr(Target) Like "######" Or CStr(Target) Like "#######" Or CStr(Target) Like "########" Then
        x = Format(Target, "00000000")
        If Left(x, 2) > "1" < "31" And Mid(x, 2) > "1" < "12" And Right > "2000" < "3000" Then Target = Left(x, 2) & "." & Mid(x, 2) & "." & Right(x, 4)
    End If
Next
Application.EnableEvents = True 'réactive les évènements
End Sub

Mes meilleures salutations,

Thierry

Bonjour Thierry36, AL 22,

Tu trouveras des pistes ici Sur ce site insertion date >

Rechercher des sujets similaires à "inserer heures rapidement chiffres"