[format] horrheure, malheure

Le
Lola
Bonjour à tous,
Vous m'avez appris ici comment convertir une heure (ex. 09:25:30) en
minutes 025:30 ([mmm]:ss;@), ce qui est très pratique pour s'y
retrouver sur Winamp dans le cas d'un long enregistrement.

Je me demande dans quelle mesure il serait possible d'accélérer la
saisie à la volée de l'heure : quand j'écris dans une colonne unique C
les heures où débutent les interventions des orateurs (09:57, puis
09:59:20, puis 10:02 etc.), je fais souvent des erreurs de frappe.

Est-il envisageable d'avoir :
- en C les heures (09, 10, 11 etc.) qu'on pourrait laisser en blanc et
compléter à la fin de la séance,
- en D les minutes et secondes (57:00, 59:20, 02:00)
et en B, la "somme" (?) de ces deux colonnes sous la forme [mmm]:ss;@.

Ça me ferait gagner un temps fou et m'éviterait de m'imaginer dans
"Retour vers le futur 4".

Merci pour vos conseils et salut bisame !
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #18817851
bonjour Lola,

j'utilise la macro suivante pour basculer entre les heure entrés avec *
au lieu du :
la première Sub BoutonPerso() est pour installer deux nouveaux boutons
sur le menu du clic droit de la feuille
si tu actionne le bouton Heure_Étoile tu pourras saisir 8*2 pour avoir
dans la cellule 08:02 et 8*20 pou 08:20
le bouton Heure_DeuxPoint est pour revenir au format standard :

Sub BoutonPerso()
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
.Caption = "Heure *"
.BeginGroup = True
.FaceId = 252
.OnAction = "Heure_Étoile"
End With
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
.Caption = "Heure :"
.BeginGroup = True
.FaceId = 252
.OnAction = "Heure_DeuxPoint"
End With
End Sub

Sub Heure_Étoile()
Application.AutoCorrect.AddReplacement What:="*", Replacement:=":"
End Sub

Sub Heure_DeuxPoint()
Application.AutoCorrect.DeleteReplacement What:="*"
End Sub

isabelle

Lola a écrit :
Bonjour à tous,
Vous m'avez appris ici comment convertir une heure (ex. 09:25:30) en
minutes 025:30 ([mmm]:ss;@), ce qui est très pratique pour s'y
retrouver sur Winamp dans le cas d'un long enregistrement.

Je me demande dans quelle mesure il serait possible d'accélérer la
saisie à la volée de l'heure : quand j'écris dans une colonne unique C
les heures où débutent les interventions des orateurs (09:57, puis
09:59:20, puis 10:02 etc.), je fais souvent des erreurs de frappe.

Est-il envisageable d'avoir :
- en C les heures (09, 10, 11 etc.) qu'on pourrait laisser en blanc et
compléter à la fin de la séance,
- en D les minutes et secondes (57:00, 59:20, 02:00...)
et en B, la "somme" (?) de ces deux colonnes sous la forme [mmm]:ss;@.

Ça me ferait gagner un temps fou et m'éviterait de m'imaginer dans
"Retour vers le futur 4".

Merci pour vos conseils et salut bisame !




Corto
Le #18818921
Bonjour Lola,
en C1 l'heure sous forme d'entier, tu peux mettre une validation pour
forcer à taper un nombre entre 00 et 24.
den D1 les minute/secondes sous la forme mm:ss (Excel va l'interpréter
comme hh:mm)
En B1 tu mets la fonction ==TEMPS(C3;0;D3*1440) et tu formates la
cellule comme tu veux.

Corto


Lola a écrit :
Bonjour à tous,
Vous m'avez appris ici comment convertir une heure (ex. 09:25:30) en
minutes 025:30 ([mmm]:ss;@), ce qui est très pratique pour s'y
retrouver sur Winamp dans le cas d'un long enregistrement.

Je me demande dans quelle mesure il serait possible d'accélérer la
saisie à la volée de l'heure : quand j'écris dans une colonne uni que C
les heures où débutent les interventions des orateurs (09:57, puis
09:59:20, puis 10:02 etc.), je fais souvent des erreurs de frappe.

Est-il envisageable d'avoir :
- en C les heures (09, 10, 11 etc.) qu'on pourrait laisser en blanc et
compléter à la fin de la séance,
- en D les minutes et secondes (57:00, 59:20, 02:00...)
et en B, la "somme" (?) de ces deux colonnes sous la forme [mmm]:ss;@.

Ça me ferait gagner un temps fou et m'éviterait de m'imaginer dans
"Retour vers le futur 4".

Merci pour vos conseils et salut bisame !




Modeste
Le #18818911
Bonsour® Lola

Vous m'avez appris ici comment convertir une heure (ex. 09:25:30) en
minutes 025:30 ([mmm]:ss;@), ce qui est très pratique pour s'y
retrouver sur Winamp dans le cas d'un long enregistrement.

Je me demande dans quelle mesure il serait possible d'accélérer la
saisie à la volée de l'heure : quand j'écris dans une colonne unique C
les heures où débutent les interventions des orateurs (09:57, puis
09:59:20, puis 10:02 etc.), je fais souvent des erreurs de frappe.

Est-il envisageable d'avoir :
- en C les heures (09, 10, 11 etc.) qu'on pourrait laisser en blanc et
compléter à la fin de la séance,
- en D les minutes et secondes (57:00, 59:20, 02:00...)
et en B, la "somme" (?) de ces deux colonnes sous la forme [mmm]:ss;@.



j'ai fourni ici il y a quelque temps un code adapté de Chip Pearson
permettant la saisie évenementielle et la conversion en format horaire
basée sur la saisie sans séparateur ":"
avec reconnaissance automatique du nombre de caractères et formatage horaire adéquat

je regarde dans mes archive au cas ou ;o)))

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim TimeStr As String

On Error GoTo EndMacro
If Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
Exit Sub
End If
If Target.Cells.Count > 1 Then
Exit Sub
End If
If Target.Value = "" Then
Exit Sub
End If

Application.EnableEvents = False
With Target
If .HasFormula = False Then
Select Case Len(.Value)
Case 1 ' e.g., 1 = 00:01 AM
TimeStr = "00:0" & .Value
Case 2 ' e.g., 12 = 00:12 AM
TimeStr = "00:" & .Value
Case 3 ' e.g., 735 = 7:35 AM
TimeStr = Left(.Value, 1) & ":" & _
Right(.Value, 2)
Case 4 ' e.g., 1234 = 12:34
TimeStr = Left(.Value, 2) & ":" & _
Right(.Value, 2)
Case 5 ' e.g., 12345 = 1:23:45 NOT 12:03:45
TimeStr = Left(.Value, 1) & ":" & _
Mid(.Value, 2, 2) & ":" & Right(.Value, 2)
Case 6 ' e.g., 123456 = 12:34:56
TimeStr = Left(.Value, 2) & ":" & _
Mid(.Value, 3, 2) & ":" & Right(.Value, 2)
Case Else
Err.Raise 0
End Select
.Value = TimeValue(TimeStr)
End If
End With
Application.EnableEvents = True
Exit Sub
EndMacro:
MsgBox "You did not enter a valid time"
Application.EnableEvents = True
End Sub
Lola
Le #18823551
Merci à tous !

Je vais tout de suite mettre vos différentes solutions en pratique sur
un de mes fichiers qui servira dès vendredi.

Très bonne soirée
Publicité
Poster une réponse
Anonyme