Bonjour,
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui
soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00
comme résultat
à la place de 23:25
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _
& ":" & Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news: Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE()
Dim C As Range, X As String, A As String
Application.ScreenUpdating = False
For Each C In Selection
A = C
X = "00:" & Left(A, 2) & ":" & Right(A, 2) & ""
With C
.NumberFormat = "HH:MM:SS"
.Value = TimeValue(X)
End With
Next
End Sub
"Steve" <Steve@9online.fr> a écrit dans le message de news: eXQ0lPWQHHA.3520@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui
soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00
comme résultat
à la place de 23:25
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _
& ":" & Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news: Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
Elliac
Bonjour,
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news: Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
Bonjour,
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE()
Dim C As Range, X As String, A As String
Application.ScreenUpdating = False
For Each C In Selection
A = C
X = "00:" & Left(A, 2) & ":" & Right(A, 2) & ""
With C
.NumberFormat = "HH:MM:SS"
.Value = TimeValue(X)
End With
Next
End Sub
"Steve" <Steve@9online.fr> a écrit dans le message de news: eXQ0lPWQHHA.3520@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui
soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00
comme résultat
à la place de 23:25
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _
& ":" & Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news: Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
Steve
Merci a vous deux pour votre aide.
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me donne tout de suite 24:12 une macro genre "Private Sub Worksheet_Change" Merci encore
"Elliac" a écrit dans le message de news:
Bonjour,
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news:
Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
Merci a vous deux pour votre aide.
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me
donne tout de suite 24:12
une macro genre "Private Sub Worksheet_Change"
Merci encore
"Elliac" <Elliac@discussions.microsoft.com> a écrit dans le message de news:
51FCE896-E893-4CB7-89C3-01612091B1FE@microsoft.com...
Bonjour,
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE()
Dim C As Range, X As String, A As String
Application.ScreenUpdating = False
For Each C In Selection
A = C
X = "00:" & Left(A, 2) & ":" & Right(A, 2) & ""
With C
.NumberFormat = "HH:MM:SS"
.Value = TimeValue(X)
End With
Next
End Sub
"Steve" <Steve@9online.fr> a écrit dans le message de news:
eXQ0lPWQHHA.3520@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25
qui
soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne
25:00
comme résultat
à la place de 23:25
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _
& ":" & Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me donne tout de suite 24:12 une macro genre "Private Sub Worksheet_Change" Merci encore
"Elliac" a écrit dans le message de news:
Bonjour,
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news:
Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
MichDenis
Tu copies ceci dans le module feuille où l'action se déroule :
L'exemple suivant utilise la plage A:A, tu adaptes selon la plage où cela doit s'appliquer dans ton programme.
'--------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range Set Rg = Intersect(Range("A:A"), Target) If Not Rg Is Nothing Then Application.EnableEvents = False For Each C In Rg A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next Application.EnableEvents = True End If
End Sub '---------------------------------
"Steve" a écrit dans le message de news: Merci a vous deux pour votre aide.
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me donne tout de suite 24:12 une macro genre "Private Sub Worksheet_Change" Merci encore
"Elliac" a écrit dans le message de news:
Bonjour,
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news:
Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
Tu copies ceci dans le module feuille où l'action se déroule :
L'exemple suivant utilise la plage A:A, tu adaptes selon la plage
où cela doit s'appliquer dans ton programme.
'---------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Range("A:A"), Target)
If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
A = C
X = "00:" & Left(A, 2) & ":" & Right(A, 2) & ""
With C
.NumberFormat = "HH:MM:SS"
.Value = TimeValue(X)
End With
Next
Application.EnableEvents = True
End If
End Sub
'---------------------------------
"Steve" <Steve@9online.fr> a écrit dans le message de news: u0PJs9WQHHA.3812@TK2MSFTNGP06.phx.gbl...
Merci a vous deux pour votre aide.
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me
donne tout de suite 24:12
une macro genre "Private Sub Worksheet_Change"
Merci encore
"Elliac" <Elliac@discussions.microsoft.com> a écrit dans le message de news:
51FCE896-E893-4CB7-89C3-01612091B1FE@microsoft.com...
Bonjour,
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE()
Dim C As Range, X As String, A As String
Application.ScreenUpdating = False
For Each C In Selection
A = C
X = "00:" & Left(A, 2) & ":" & Right(A, 2) & ""
With C
.NumberFormat = "HH:MM:SS"
.Value = TimeValue(X)
End With
Next
End Sub
"Steve" <Steve@9online.fr> a écrit dans le message de news:
eXQ0lPWQHHA.3520@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25
qui
soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne
25:00
comme résultat
à la place de 23:25
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _
& ":" & Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Tu copies ceci dans le module feuille où l'action se déroule :
L'exemple suivant utilise la plage A:A, tu adaptes selon la plage où cela doit s'appliquer dans ton programme.
'--------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range Set Rg = Intersect(Range("A:A"), Target) If Not Rg Is Nothing Then Application.EnableEvents = False For Each C In Rg A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next Application.EnableEvents = True End If
End Sub '---------------------------------
"Steve" a écrit dans le message de news: Merci a vous deux pour votre aide.
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me donne tout de suite 24:12 une macro genre "Private Sub Worksheet_Change" Merci encore
"Elliac" a écrit dans le message de news:
Bonjour,
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news:
Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
Modeste
Bonsour® Steve avec ferveur ;o))) vous nous disiez :
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 ?????????
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me donne tout de suite 24:12
Heu ... et comment crois-tu que l'on va deviner que tu veux 00:23:25 et non pas 23:25:00 que tu veux 00:24:12 et non pas 24:12:00 (*)
il te faut plus de rigueur dans ta formulation !!!!! soit ta saisie est convertible uniquement en [h]:mm ou uniquement [m]:ss soit tu saisis toujours 6+ chiffres convertibles en [h]:mm:ss (*)
c'est si compliqué que ça de saisir ":" ????
si tu ne souhaites utiliser que le pavé numérique un astuce dans "Option Corrections automatique lors de la frappe" remplacer .. par :
-- -- @+ ;o)))
Bonsour® Steve avec ferveur ;o))) vous nous disiez :
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25
?????????
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me
donne tout de suite 24:12
Heu ... et comment crois-tu que l'on va deviner
que tu veux 00:23:25 et non pas 23:25:00
que tu veux 00:24:12 et non pas 24:12:00 (*)
il te faut plus de rigueur dans ta formulation !!!!!
soit ta saisie est convertible uniquement en [h]:mm ou uniquement [m]:ss
soit tu saisis toujours 6+ chiffres convertibles en [h]:mm:ss (*)
c'est si compliqué que ça de saisir ":" ????
si tu ne souhaites utiliser que le pavé numérique
un astuce dans "Option Corrections automatique lors de la frappe" remplacer ..
par :
Bonsour® Steve avec ferveur ;o))) vous nous disiez :
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 ?????????
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me donne tout de suite 24:12
Heu ... et comment crois-tu que l'on va deviner que tu veux 00:23:25 et non pas 23:25:00 que tu veux 00:24:12 et non pas 24:12:00 (*)
il te faut plus de rigueur dans ta formulation !!!!! soit ta saisie est convertible uniquement en [h]:mm ou uniquement [m]:ss soit tu saisis toujours 6+ chiffres convertibles en [h]:mm:ss (*)
c'est si compliqué que ça de saisir ":" ????
si tu ne souhaites utiliser que le pavé numérique un astuce dans "Option Corrections automatique lors de la frappe" remplacer .. par :
-- -- @+ ;o)))
Elliac
Bonjour,
Une astuce trouvée sur ce forum et que j'utilise remplacer .. par : ainsi tu tapes 23..25 ce qui te donnes 23:25 avec la correction automatique
Camille
"Steve" wrote:
Merci a vous deux pour votre aide.
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me donne tout de suite 24:12 une macro genre "Private Sub Worksheet_Change" Merci encore
"Elliac" a écrit dans le message de news:
Bonjour,
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news:
Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Merci de votre aide
Bonjour,
Une astuce trouvée sur ce forum et que j'utilise remplacer .. par :
ainsi tu tapes 23..25 ce qui te donnes 23:25 avec la correction automatique
Camille
"Steve" wrote:
Merci a vous deux pour votre aide.
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me
donne tout de suite 24:12
une macro genre "Private Sub Worksheet_Change"
Merci encore
"Elliac" <Elliac@discussions.microsoft.com> a écrit dans le message de news:
51FCE896-E893-4CB7-89C3-01612091B1FE@microsoft.com...
Bonjour,
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE()
Dim C As Range, X As String, A As String
Application.ScreenUpdating = False
For Each C In Selection
A = C
X = "00:" & Left(A, 2) & ":" & Right(A, 2) & ""
With C
.NumberFormat = "HH:MM:SS"
.Value = TimeValue(X)
End With
Next
End Sub
"Steve" <Steve@9online.fr> a écrit dans le message de news:
eXQ0lPWQHHA.3520@TK2MSFTNGP05.phx.gbl...
Bonjour,
Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25
qui
soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne
25:00
comme résultat
à la place de 23:25
Sub SAISIE()
Application.ScreenUpdating = False
For Each c In Selection
c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _
& ":" & Right(c.Value, 2))
c.NumberFormat = "mm:ss"
Next c
End Sub
Une astuce trouvée sur ce forum et que j'utilise remplacer .. par : ainsi tu tapes 23..25 ce qui te donnes 23:25 avec la correction automatique
Camille
"Steve" wrote:
Merci a vous deux pour votre aide.
J'aurai voulu savoir s' il est possible que lorsque je rentre 2412 cela me donne tout de suite 24:12 une macro genre "Private Sub Worksheet_Change" Merci encore
"Elliac" a écrit dans le message de news:
Bonjour,
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeSerial(0, Left(c.Value, 2), Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub
Camille
"MichDenis" wrote:
Un petit exemple que tu peux insérer dans ta boucle
Sub SAISIE() Dim C As Range, X As String, A As String Application.ScreenUpdating = False For Each C In Selection A = C X = "00:" & Left(A, 2) & ":" & Right(A, 2) & "" With C .NumberFormat = "HH:MM:SS" .Value = TimeValue(X) End With Next End Sub
"Steve" a écrit dans le message de news:
Bonjour, Je voudrais pouvoir saisir 2325 et que dans ma cellule ce soit 00:23:25 qui soit entré.
J'ai bien essayé ce bout de code mais cela ne marche pas il me donne 25:00 comme résultat à la place de 23:25
Sub SAISIE() Application.ScreenUpdating = False For Each c In Selection c.Value = TimeValue(Left(Application.Text(c.Value, "0000"), 2) _ & ":" & Right(c.Value, 2)) c.NumberFormat = "mm:ss" Next c End Sub