Saisie des données de temps en Excel au format mm: ss (sans le 0 en tête: pour les heures)


16

Je veux entrer les données de temps dans la feuille Excel au format mm: ss. Le problème est que, bien que le format de cellule soit mm: ss, si j'entre les données comme ceci:

12:33 la valeur réelle enregistrée est de 12 heures et 33 min. si je veux 12 min et 33 sec, je dois entrer 0:12:33

Existe-t-il un moyen de faire accepter la cellule 12:33 comme mm: ss?


2
Pour afficher les minutes plus grandes que 59, formatez la cellule comme [MM]:SS. Comme: 02:10:45s'afficherait alors comme à la 130:45place. Mais apparemment, cela ne fonctionne pas pour les entrées.
Arjan

Réponses:


6

L'heure est universellement entrée au format Heures: Minutes: Secondes, vous ne pouvez donc pas modifier ce format d'entrée. Vous pouvez évidemment changer le format d'affichage, mais malheureusement, vous devrez respecter le format d'entrée.


il semble qu'il n'y ait pas de solution à mon problème, car même l'utilisation de scripts n'aidera pas, car le formatage masque ce que l'utilisateur tape réellement.
Dani

Alors , est le format universel hh:mm:ssou h:mm:ss? @Steve
Shayan

Je dirais que c'est h:mm:ss@Shayan
Steve

14

Comme l'a répondu Steve , Excel interprète l'entrée utilisateur 12:33comme 12h33m. Vous ne pouvez pas modifier ce comportement de la façon dont Excel accepte les entrées utilisateur.

Comme vous l'avez mentionné dans le commentaire, les utilisateurs entreraient 12:33mais signifieraient 12m33s.

Voici une solution de contournement pour obtenir la valeur correcte pour le calcul.

  1. Formatez la cellule A1 (entrée utilisateur, par exemple 12:33) comme[h]:mm
  2. Entrez la formule =A1/60dans la cellule B1
  3. Mettre en forme la cellule B1 comme [m]:ss

La valeur affichée doit être la même dans A1 et B1. Cependant, B1 sera la valeur réelle que vous souhaitez .


2
Agréable. Ou: formatez l'entrée en tant que valeur de chaîne / texte et utilisez quelque chose comme TIMEVALUEpour la convertir .
Arjan le

1
Les valeurs affichées dans A1 et B1 ne sont pas les mêmes si mm> 23
Alaa M.

1
@AlaaM. merci pour votre découverte. la réponse est mise à jour pour résoudre le problème. utiliser [h]et[m]
wilson

3

Il y a une solution! Placez ce code VBA dans votre module de feuille de calcul, c'est-à-dire:

  1. Ouvrez l'éditeur Visual Basic ( Alt- F11)
  2. Dans l'arborescence en haut à gauche, double-cliquez sur la feuille que vous souhaitez saisir
  3. Dans le panneau de code central, placez le code ci-dessous.
  4. Fermer VBE

Utilisez ce code:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value / 60
    Target.NumberFormat = "mm:ss"
    Application.EnableEvents = True
End Sub

Si vous avez déjà formaté la plage dans laquelle vous saisissez les données, utilisez plutôt cette ligne comme première ligne:

If Target.Value < 0 Or Target.Value > 1 Then Exit Sub

Notez que cela changera la valeur et le format - chaque fois que vous saisissez une heure - ou quelque chose entre 0 et 1! Si vous souhaitez le limiter à une certaine colonne, ajoutez cette ligne:

If Target.Column <> 3 Then Exit Sub

ou cette ligne pour la limiter à une certaine plage

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub

2

Moyen le plus simple de calculer les heures terminées

Formater la cellule (A1) hh:mm

Entrée normale ( 07:22)

Formater la cellule (B1) hh:mm

Entrée normale ( 16:00)

Formater la cellule (C1) h:mm

Entrez toutes les données dans la cellule (C1) comme suit: =(A1+B1)/60


1

Mettez en surbrillance la ou les cellules / colonne que vous souhaitez comme durée, faites un clic droit sur la souris pour "Formater les cellules". Accédez à "Personnalisé" et recherchez "h: mm" si vous souhaitez saisir la durée au format heure et minutes. Si vous souhaitez également inclure les secondes, cliquez sur "h: mm: ss". Vous pouvez même additionner la durée totale après cela.

J'espère que cela t'aides.


1

Je trouve préférable de saisir les minutes dans la colonne A puis les secondes dans la colonne B. Ensuite, vous pouvez additionner les colonnes. Tout en format numérique normal.

Convertissez ensuite les secondes> 60 en minutes en divisant la somme dans le col B par 60 et ajoutez l'INT à la somme du col A et laissez le reste du MOD dans le col B.

Alternativement, vous pouvez avoir le col C comme nombre décimal en ayant une formule = (A1+(B1/60))qui donnera des minutes décimales. Au bas du Col C, faites une somme, puis appliquez une formule pour reconvertir la partie décimale en secondes comme suit, c'est-à-dire l' C22endroit où la somme est conservée, puis C23entrez la formule =MOD(C22,1)*60.

Maintenant, A23entrez la formule =INT(C22)pour afficher le total des minutes, y compris celles de la somme C22.


1

J'ai eu le même problème et voici la solution que j'ai trouvée: entrez la formule à l'aide de la TIMEfonction, qui crée une matrice de temps =TIME(H,M,S)et formatez-la à votre guise. Vous devez toujours entrer 0 heure à chaque fois parce que les mathématiques, mais cela rend le tout infiniment plus réalisable.


0

Solution ci-dessus. Lorsque vous utilisez le h:mmformat, Excel ne vous laissera pas dépasser 23. Ajoutez des parenthèses aux heures de votre format [h]:mmet vous êtes libre de dépasser 23.

Pour calculer la valeur en secondes, définissez la cellule au format numérique "général", puis tapez la formule suivante

=HOUR(A1)*60+MINUTE(A1)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.