Bonjour,
Mon idée est de
modifier le point (".") par un
apostrophe et un espace et d
'ajouter 2 apostrophe à la fin.
. . . à oui, ça change d'avec ta première demande .....
Alors allons-y.....faisons un peu de découpage (ceci est une possibilité...)
1) Récupérer la position du point (.) dans la chaîne...
point: DansChaîne([longueur];".")
ex: pour la valeur 4.2 retourne 2
2) Récupérer la partie gauche de la chaîne située avant le point (.)
gauche: Gauche([longueur];[point]-1
ex: pour la valeur 4.2 retourne 4
3) Récupérer toute la chaîne située après le point (.)
Droite: ExtracChaîne([longueur];DansChaîne([longueur];".")+1)
ex: pour la valeur 4.2 retourne 2
4) Au final, on mouline tout cela, pour obtenir...
NumEnTexte: Gauche([longueur];DansChaîne([longueur];".")-1) & "' " & ExtracChaîne([longueur];DansChaîne([longueur];",")+1) & "''"
ex: pour la valeur 4.2 retourne 4' 2''
...voila, c'est une possibilité ( en espérant ne pas m'être trompé ...
ATTENTION:
- solution valable pour affichage et non pour calcul
- ne fonctionne que si la donnée comporte une valeur après le point (.)
(12.45 = OK | 25 = KO )
....à adapter.....
[EDIT]
...avant que tu ne demande 
Pour gérer une valeur sans point (.), ajoute une fonction Iif (Vrai/Faux)....
Tu peux également créer une fonction.....(accessible n'importe ou dans l'application)
1 2 3 4 5 6 7 8 9 10 11
| Public Function FormatLongueur (longueur As String)
'Recherche si point (.) existe
Dim point As Byte
point = InStr .........
If point = 0 Then
longueur = longueur &.......
Else
longueur = Left.......
End if
FormatLongueur = longueur
End Function |
Partager