Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
257
Réponses
3
Affichages
382
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…