2011-01-20 08:54:31 +0000 2011-01-20 08:54:31 +0000
17
17

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

Je veux saisir les données de temps dans une feuille Excel au format mm:ss. Le problème est que, bien que le format de la cellule soit mm:ss, si j'entre les données de cette manière, je ne peux pas les saisir :

12:33 la valeur réelle stockée est de 12 heures et 33 minutes. Si je veux 12 minutes et 33 secondes, je dois entrer 0:12:33

Y a-t-il un moyen de faire en sorte que la cellule accepte 12:33 en mm:ss ?

Réponses (7)

14
14
14
2011-01-21 03:40:40 +0000

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

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

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

  1. formatez la cellule A1 (saisie par l'utilisateur, par exemple 12:33) comme [h]:mm
  2. Entrez la formule =A1/60 dans la cellule B1
  3. Formatez la cellule B1 en [m]:ss

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

7
7
7
2011-01-20 08:58:24 +0000

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

3
3
3
2013-03-05 12:01:12 +0000

Il y a une solution ! Placez ce code VBA dans votre module de feuille de travail, 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 voulez entrer vos temps
  3. Dans le panneau central des codes, placez le code ci-dessous.
  4. Fermez le 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

Au cas où vous auriez 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 soit un temps - soit quelque chose qui se situe 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
2
2
2
2013-09-13 13:09:04 +0000

La façon la plus simple de calculer les heures effectué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

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

1
1
1
2017-03-26 06:37:27 +0000

Je trouve qu'il est préférable d'inscrire les minutes dans la colonne A, puis les secondes dans la colonne B. Ensuite, vous pouvez additionner les colonnes. Le tout au format normal des nombres.

Ensuite, convertissez les secondes > 60 en minutes en divisant la somme de la col B par 60 et ajoutez l'INT à la somme de la col A et laissez le reste de la MOD dans la col B.

Alternativement, vous pouvez avoir la col C comme nombre décimal en ayant une formule = (A1+(B1/60)) donnera des minutes décimales. Au bas de la col C faites une somme puis appliquez une formule pour convertir la partie décimale en secondes comme suit : disons C22 est l'endroit où la somme est tenue puis dans C23 entrez la formule =MOD(C22,1)*60.

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

1
1
1
2017-11-28 06:30:48 +0000

J'ai eu le même problème et voici la solution que j'ai trouvée : Entrez la formule en utilisant la fonction TIME, ce qui crée une matrice de temps comme =TIME(H,M,S) et formatez-la comme vous le souhaitez. Vous devez toujours entrer 0 heure à chaque fois parce que les mathématiques, mais cela rend l'ensemble infiniment plus exploitable.

0
0
0
2014-03-10 20:34:42 +0000

Solution à la question ci-dessus. Lorsque vous utilisez le format h:mm, excel ne vous laissera pas dépasser le chiffre 23. Ajoutez des parenthèses aux heures dans votre format [h]:mm et vous êtes libre d'aller au-delà de 23.

Pour calculer la valeur en secondes, réglez la cellule sur le format de nombre “général” et tapez ensuite la formule suivante

=HOUR(A1)*60+MINUTE(A1)