Zero avant la virgule

xantuc Messages postés 2 Statut Membre -  
iBobos Messages postés 39 Statut Membre -
Bonjour,
j'ai des donnees qui arrive sous forme 8.4 et
je dois les transformer en 08
sous macro excel

merci

4 réponses

ccm81 Messages postés 11033 Statut Membre 2 434
 
quelques precisions me semblent necessaires
1. le resultat est il obligatoirement entier?
2. si oui sous quel format 08 - 008 - 0008 ?
si non preciser le format desiré 08.xxx , .
a bientot.
0
xantuc29
 
j'ai plusieurs nombre 7,4 et 3,8 et 9,6 ........ et je dois
obtenir 07 et 03 et 09
merci
0
ccm81 Messages postés 11033 Statut Membre 2 434
 
Bon, le cahier des charges est encore un brin imprécis mais
une solution correspondant aux hypothèses suivantes (les tiennes)
- x est un nombre décimal avec un seul chiffre avant la virgule
- le resultat est sous la forme 0 suivi de la partie entiere de x
- c'est une macro VBA qui doit realiser la conversion

deux solutions qui doivent etre placée dans un module
(Alt-F11 pour accéder à l'editeur VBA)

1. le resultat est un nombre

 Private Function ConvertirEnNombre(x) As Long
  ConvertirEnNombre = Int(x)
End Function

la cellule qui reçoit le résultat doit etre formatée selon le format 00

2. le resultat est une chaine de caractere

Private Function ConvertirEnChaine(x) As String
  ConvertirEnChaine = "0" & Int(x)
End Function


Exemple
A1 = 3.8

A2 = ConvertirEnNombre(A1)
A3 = ConvertirEnChaine(A1)

RQ. Excel sait faire en mode normal
A4 = ENT(A1) suffit pourvu que A4 soit formatée au format 00

bonne suite
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Que c'est bien compliqué comme réponse.... :-)

Retenir :
A4 = ENT(A1) suffit pourvu que A4 soit formatée au format 00

eric
0
ccm81 Messages postés 11033 Statut Membre 2 434
 
eriic,
oui, mais il y avait écrit "sous macro excel" d'où l'abracadabrantesquerie qui a precedé j'en conviens ...
ccm81
0
iBobos Messages postés 39 Statut Membre 6
 
Bonjour,

La fonction à utiliser est ENT

ex: =ent(17.25) renverra 17
0