web-dev-qa-db-fra.com

Saisie des données temporelles dans Excel au format mm: ss (sans le 0 initial: pour les heures)

Je veux entrer des données temporelles dans une feuille Excel au format mm: ss. Le problème est que, bien que le format de cellule soit mm: ss, si je saisis les données comme ceci:

12h33, la valeur réelle enregistrée est de 12 heures et 33 minutes. 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 au format mm: ss?

14
Dani

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

6
Steve

Comme répondu par Steve , Excel interprète la saisie utilisateur 12:33 comme étant 12h33m. Vous ne pouvez pas modifier ce comportement de la manière dont Excel accepte les entrées de l'utilisateur.

Comme vous l'avez mentionné dans un commentaire, les utilisateurs doivent saisir 12:33 mais signifier 12m33s.

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

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

La valeur affichée doit être la même dans A1 et B1. Cependant, B1 correspondra à la valeur réelle souhaitée .

14
wilson

Il y a une solution! Placez ce code VBA dans votre module de feuille de calcul, à savoir:

  1. Ouvrez l'éditeur Visual Basic (Alt-F11)
  2. En haut à gauche de l'arborescence, 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 entrez 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 entrez une heure - ou quelque chose entre 0 et 1! Si vous voulez le limiter à une certaine colonne, ajoutez cette ligne:

If Target.Column <> 3 Then Exit Sub

ou cette ligne pour le limiter à une certaine plage

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

Meilleure façon de calculer les heures complétées

Formater la cellule (A1) hh:mm

Saisie normale (07:22)

Formater la cellule (B1) hh:mm

Saisie normale (16:00)

Formater la cellule (C1) h:mm

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

2
Don_T

Je trouve préférable de saisir les minutes dans la colonne A, puis les secondes dans la colonne B. Vous pouvez ensuite faire la somme des colonnes. Tous comme format de nombre normal.

Convertissez ensuite les secondes> 60 en minutes en divisant la somme du col B par 60 et ajoutez l’INT au Col A Sum et laissez le reste MOD au col B.

Sinon, vous pouvez avoir la colonne C comme nombre décimal en utilisant une formule = (A1+(B1/60)) donnera des minutes décimales. Au bas de la colonne C, faites une somme, puis appliquez une formule pour reconvertir la partie décimale en secondes comme suit: C22 indique où la somme est détenue, puis dans C23, entrez la formule =MOD(C22,1)*60.

Maintenant, dans A23, entrez la formule =INT(C22) pour afficher le nombre total de minutes, y compris celles de la somme dans C22.

1
MartinCC

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

1
Alex Madjarov

Mettez en surbrillance la ou les cellules/colonne que vous souhaitez comme durée, cliquez avec le bouton droit de la souris sur "Formater les cellules". Allez sur "Personnalisé" et recherchez "h: mm" si vous souhaitez saisir une durée au format heure et minute. Si vous souhaitez également inclure des 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
user384012

Solution au dessus. Lorsque vous utilisez le format h:mm, Excel ne vous laissera pas dépasser 23. Ajoutez des heures entre parenthèses dans votre format [h]:mm et vous serez libre de dépasser 23.

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

=HOUR(A1)*60+MINUTE(A1)
0
yakshi one