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?
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.
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.
12:33
) en tant que [h]:mm
=A1/60
dans la cellule B1[m]:ss
La valeur affichée doit être la même dans A1 et B1. Cependant, B1 correspondra à la valeur réelle souhaitée .
Il y a une solution! Placez ce code VBA dans votre module de feuille de calcul, à savoir:
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
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
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
.
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.
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.
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)