Conversion chaîne de caractère avec formule personnalisée

Nikless

XLDnaute Junior
Bonjour le forum,

Je souhaite convertir une chaîne de caractères extraites depuis un système SAP sous format texte en un format nombre Excel.
J'ai une formule personnalisée de JB Boisgontier que j'ai arrangée qui fait une partie du travail mais elle me renvoie des décimales et ça ne fonctionne pas avec les nombres entiers.
Merci par avance pour votre aide

Nikless
 

Pièces jointes

  • Conversion chaine caracteres fonction VBA.xlsm
    16.9 KB · Affichages: 28

Dranreb

XLDnaute Barbatruc
Re : Conversion chaîne de caractère avec formule personnalisée

Bonjour.
Écrite comme ça elle renvoie le bon résultat :
VB:
Function NumChaine(ByVal X) As Double
If VarType(X) = vbString Then
   NumChaine = Replace(X, ".", "")
Else: NumChaine = X: End If
End Function
(format Standard)

Si contrairement à la majorité de vos exemples de résultats souhaités vous voulez arrondir à l'entier :
VB:
Function NumChaine(ByVal X) As Double
If VarType(X) = vbString Then
   NumChaine = Int(Replace(X, ".", "") + 0.5)
Else: NumChaine = Int(X + 0.5): End If
End Function
 
Dernière édition:

Nikless

XLDnaute Junior
Re : Conversion chaîne de caractère avec formule personnalisée

Merci beaucoup pour ces deux approches et la piste pour renvoyer l'entier.
Je suis rentrée tête baissée dans la formule personnalisée VBA.
Il est vrai que les exports de texte bruts contiennent souvent des espaces inutiles.
Bonne journée à tous,
Nikless
 

Discussions similaires