VBA trouver le chiffre le plus à droite

SKYMEN

XLDnaute Nouveau
Bonjour à tous

voilà je cherche à créer une fonction qui permet de trouver le dernier chiffre le plus à droite en remplaçant les autre chiffres par des 0:
exemple:

avec 1.5289 je voudrais avoir 0.0009
avec 12.5 je voudrais 0.5
avec -25.235 je voudrais 0.005

Je pense qu'il faut créer une fonction qui recherche la virgule et qui incrémente en remplaçant par des 0...
Pas évident

Merci d'avance
 

dg62

XLDnaute Barbatruc
Bonjour Skymen




='0,' & REPT('0';NBCAR(A1)-CHERCHE(',';A1;1)-1) & DROITE(A1;1)

='0.' & REPT('0';NBCAR(A1)-CHERCHE('.';A1;1)-1) & DROITE(A1;1)

avec en A1 le nombre que tu veux transformer



Solution en vba à suivre... si la fonction de feuille ne te convient pas.

Message édité par: dg62, à: 11/05/2005 11:19

Message édité par: dg62, à: 11/05/2005 14:17
 

dg62

XLDnaute Barbatruc
re


et voici l'equivalent VBA
il faut sélectionner les chiffres à convertir et le résulta s'affiche dans la cellule adjacente.

Code:
Sub transChiffre()
    Dim chiffre As Double
    Dim lenChiffre As Integer
    Dim droiteChiffre As String
    Dim cel As Range
    Dim Pdecimale As String

For Each cel In Selection

    chiffre = Str(cel.Value)
    lenChiffre = Len(chiffre)
    droiteChiffre = Right(chiffre, 1)
    pos = InStr(1, chiffre, '.')
    Pdecimale = Mid(chiffre, pos + 1)
    nbzero = Len(Pdecimale) - 1
    zero = Application.WorksheetFunction.Rept('0', nbzero)
    cel.Offset(0, 1).Value = '0.' & zero & droiteChiffre

Next cel

End Sub
 

Discussions similaires

Réponses
15
Affichages
256
Réponses
3
Affichages
380

Statistiques des forums

Discussions
313 059
Messages
2 094 887
Membres
106 115
dernier inscrit
bruno lemaire