Personnaliser affichage cellule en HH:MM

Bonjour,

je souhaiterais indiquer dans certaines cellules qu'une heure doit être renseignée (au format hh:mm).

Dans l'idéal ma cellule vierge aurait comme affichache par défaut : 00:00 indiquant à l'utilisateur qu'il aura une heure à enregister. Il n'aurait alors qu'à taper dans cette cellule 1359 pour que tour à tour le 1er 0 se transforme en 1, le 2° en 3, le 4° en 5 et le dernier en 9 (et que le séparateur : soit apparent).

J'ai cherché des vidéos explicatives avec comme sujet de recherche "personnaliser affichage de format de cellule" sans malheureusement trouver c que je cherche .. Mais peut être que ce n'est pas possible ...

Je vous remercie d'ores et déja pour l'aide que vous pourrez m'apporter :)

Bonjour

Pourquoi ne pas simplement lui imposer d'utiliser les deux points lors de l'entrée des 4 chiffres ?

Pour ce faire :

- Positionnez-vous dans la cellule où vous mettez 00:00
- Allez dans le menu Données et cliquez sur l'icone Validation
- Onglet Options
---- choisir Heure dans la rubrique "Autoriser"
---- Dans Heure début, mettez 00:00 et dans heure fin, mettez les heures max (23: par exemple)
- Onglet Alerte d'erreur,
---- ajoutez le message disant que l"heure doit être mise au format HH:MM.
---- Laissez la mention STOP dans la liste
---- laissez la case "quand des données....., cochée
- Onglet Message : vous pouvez ajoutez un message précisant le format à respecter et qui apparaitra quand il se positionnera sur la cellule

Crdlt

Bonjour, et merci pour votre réponse ... Malheureusement cela ne répond pas à mon besoin ... Je sais je sais, je suis un peu exigeante :)

Mais merci tout de même :)

Bonjour à toutes et à tous,
Il me semble ne pas pouvoir créer un masque de saisie dans les cellules. En revanche cela semble possible dans des champs text de formulaire.

Bonjour,

je vais dans le sens de Dan, c'est très une mauvaise idée.
Ca fait une usine à gaz juste pour éviter une saisie NORMALE des ":"

Pour un pseudo gain marginal et contre-intuitif tu perds toute possibilité d'annulation des dernières saisies à cause de la macro qui tourne et efface l'historique.
eric

Bonjour Pricilla21300,

Si c'est vraiment indispensable, la solution est d'utiliser du code VB lié à l'évènement "Worksheet_Change" de la feuille concernée. Voir le fichier joint en exemple mais si tu retiens cette solution, il faudra adapter la ligne de code signalée dans la procédure "Worksheet_Change" pour prendre en compte la plage de données contenant les heures dans ton fichier (l'idéal serait que tes données soient dans un tableau structuré).

J'ai mis une MFC sur les heures pour mettre en gris les heures à zéro et qui sont à priori à renseigner. Il est possible de saisir une heure (exemple 21:38) avec le séparateur ":", un nombre égal à 0 (0h00) OU compris entre 1 (0h01) et 2359 (23h59) OU à décimales avec une partie entière à zéro (exemple 0,5 => 12h00). Cette dernière possibilité est obligatoire car les heures sont stockées sous forme de numérique double dont l'heure est contenue dans la partie décimale donc si tu fais simplement F2 sur une cellule d'heure sans cette tolérance, cela génèrerait une valeur d'erreur. Si le format n'est pas respecté une valeur d'erreur (2015 => #ERREUR) est générée.

Cdlt,

Cylfo

PS : je réponds à ta demande mais je suis d'accord avec @Dan et @eriiic et si tu retiens cette solution, il faut vraiment que ce soit absolument nécessaire

Merci à tous pour vos réponse ... Je me plie à l'évidence ma demande est plutôt farfelue :)

Merci tout de même pour le temps que vous m'avez consacré :)

Rechercher des sujets similaires à "personnaliser affichage"