cs_legoliath
Messages postés4Date d'inscriptionjeudi 30 novembre 2000StatutMembreDernière intervention28 octobre 2005
-
25 oct. 2005 à 18:24
cs_legoliath
Messages postés4Date d'inscriptionjeudi 30 novembre 2000StatutMembreDernière intervention28 octobre 2005
-
28 oct. 2005 à 14:46
Bonjour,
J'essaye depuis 2 jours de trouver une solution à mon problème et je deviens fou !!!
Je souhaite dans excel affecter à une plage de cellule un format spécifique de type texte qui aurait la forme suivante : 00h00.
Le but est d'avoir comme valeur dans la cellule 4 chiffres et une lettre à l'affichage (ex : affichage 12h00 écrit dans la cellule 1200 et 08h00 écrit 0800). Cela pour gérer des horaires et avoir une saisie simple pour l'utilisateur (tapes 4 chiffres) et un affichage sympa pour leur rappeler un horaire (ex : 12h00).
J'applique un format perso à la cellule mais je n'arrive pas à combiner 2 formats.
Je souhaiterai savoir si une solution avec VBA est possible ? et si vous voyez une solution a mon problème ...
Merci par avance
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 oct. 2005 à 19:02
Salut
En fait, c'est simple : Dans ta ou tes cellules qui renferment 800 ou 1200, applique le format personnel :
- Sélectionne tes cellules
- Menu Format, Cellule.
- Dans l'onglet Nombre, choisi Personnalisé dans la liste
- A doite apparait une zone de saisie et une liste de modèles :
- Dans la zone de saisie, tape 00\h00
et tes cellules inclueront un h en 3e position
Pour les heures de 0 à 9, et si tu ne veux pas des 0 devant le chiffre, remplace le premier 0 de la formule par un # : #0\h00
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_legoliath
Messages postés4Date d'inscriptionjeudi 30 novembre 2000StatutMembreDernière intervention28 octobre 2005 26 oct. 2005 à 08:28
Merci pour cette réponse,
Mais je me suis mal exprimé (sans doute la fatigue !!!). En fait lorsque j'applique ce format 00\h00 ou 00"h"00, j'ai bien un affichage 08h00 par exemple. Mais lorsque je regarde la valeur de la cellule celle-ci est 800. En fait je fais d'autres calculs et j'ai besoin d'avoir toujours 4 chiffres dans la valeur de la cellule. Or actuellement si je tape 1200 il m'affiche 12h00 et la valeur de la cellule est 1200 : c'est ok. Par contre si je tape 0800 il m'affiche 08h00 et la valeur de la cellule est 800 : pas bon !!!
Voilà j'espère avoir été un peu plus clair cette fois.
Merci pour vos réponses ...
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 26 oct. 2005 à 17:28
Salut
Je vois ce que tu veux dire.
Si la cellule est de type numérique, il n'est pas possible d'avoir un format incluant un 0 devant.
Par contre, dans ta fonction qui lit ta cellule, rien ne t'empèche de formatter ton chiffre en chaine afin d'y ajouter un zéro :
Voir fonctions = Droite("0000" & B8, 4)
Mais attention, lke résultat sera une chaine, pas un chiffre. Peut poser problème. A toi de faire les essais nécessaires
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_legoliath
Messages postés4Date d'inscriptionjeudi 30 novembre 2000StatutMembreDernière intervention28 octobre 2005 28 oct. 2005 à 14:43
Pour pour ton acharnement à me sortir de la m...
J'ai essayé dans tous les sens ton idée au sein de ma formule mais je n'obtiens pas le résultat voulu. Pourtant ta solution me plait car elle me permet par un rechercher remplacer de recopier la séquence dans toutes mes formules du tableau.
Lorsque je saisis par exemple : =GAUCHE("0000"&F7;2) il m'affiche 0000 quelquesoit le chiffre de départ dans F7.
Si je passe à "000" dans la formule à ce moment là il met par exemple un zéro si je tape 800 il prend 0008; si je prends "0" dans la formule et je je tape 800 il m'affiche 0800 ...
Je peux contourner cela en mettant comme formule =GAUCHE (TEXTE(F7;"0000");2), à ce moment là il me compléte bien ma valeur si 800 = 0800 si 30 = 0030 etc.
Par contre je n'arrive pas à remplacer dans toutes les formules du tableau la syntaxe par un simple rechercher remplacer...
Je reviens vers toi pour savoir si tu as une idée par rapport à ta formule, pour savoir pourquoi elle ne fonctionne pas comme voulu. Je précise je suis sous excel 2003.
Merci par avance
Vous n’avez pas trouvé la réponse que vous recherchez ?