King note que si une cellule est au format hh: mm ou [h]: mm et que vous entrez accidentellement 3: 555 dans la cellule, vous obtenez 12:15 au lieu de 3:55.

Excel interprète le 555 comme 555 minutes, pas 55 et 1/2 minutes. Il se demande s’il existe un moyen de se prémunir contre de telles erreurs de saisie de données, car il ne peut pas obtenir de validation des données pour les gérer.

King a raison; la validation des données ne gérera pas ce type d’erreur. Si vous définissez la validation des données pour autoriser l’entrée de l’heure dans une cellule, puis définissez les limites entre 12 h 00 et 23 h 59 min 59 s (de sorte que toute heure soit autorisée), il acceptera toujours 3: 555 et une mauvaise interprétation. c’est 3 heures et 555 minutes, ou 12:15. Puisque 12h15 se situe dans la plage de temps autorisée, la validation des données ne pose aucun problème.

Toutefois, la validation des données peut toujours être utilisée si vous divisez votre temps d’entrée en deux cellules. Permettez à l’utilisateur de saisir des heures dans une cellule et des minutes dans une autre, et utilisez la validation des données pour appliquer des paramètres d’entrée acceptables pour chaque cellule. Cela empêcherait 555 d’être accepté comme un nombre valide de minutes. Vous pouvez ensuite convertir les deux cellules en une heure valide de cette manière:

=A1/24+B1/(24*60)

Plusieurs abonnés ont suggéré d’utiliser une macro pour vérifier le contenu de la cellule et arrêter la saisie de faute de frappe. Chaque suggestion reposait sur le gestionnaire d’événements Worksheet_Change, qui semblait très prometteur. Cependant, aucune des solutions fournies ne capturerait l’entrée de 3: 555 comme incorrecte. La raison en est qu’au moment où Excel a transféré le contrôle à l’événement Worksheet_Change, ses routines internes avaient déjà analysé l’entrée et l’ont changée en 12:15. Alors que 3: 555 pouvait être marqué et ajusté par programme, le 12:15 analysé ne le pouvait pas – il est toujours considéré comme une heure valide, donc il a navigué directement à travers l’une des macros Worksheet_Change.

La seule solution basée sur les macros serait donc celle qui utilise une zone de saisie pour que l’utilisateur entre une heure qui pourrait être vérifiée avant que la macro ne l’insère dans la feuille de calcul. Cette approche, cependant, semble beaucoup plus perturbatrice pour la saisie facile de l’utilisateur que d’utiliser des cellules minute et seconde séparées et d’appliquer la validation des données à ces cellules.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (13248) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.