Convertir nombre stocké sous forme de texte

helene51

XLDnaute Junior
Bonjour le forum,

J'ai besoin de vous pour un petit problème.J'ai cherché mais je ne trouve pas la réponse à ma question.

Sur un userform j'ai un label où j'affiche un nombre en %. Ce label est inséré dans une cellule de la Feuil1.
Le problème est que quand la valeur du Label est copiée dans Excel elle l'est sous forme de texte ce qui me pose problème lors de la création d'un graphique.

J'ai essayé un CDbl
Code:
CDbl(Label88.Caption) mais sans succès
J'ai aussi essayé
Code:
ActiveSheet.Range("K2:K" & Range("K65536").End(xlUp).Row).NumberFormat = general
sans succès.

Auriez-vous d'autres idées pour convertir le format texte en nombre sur ces cellules Excel ?

Merci.
 

helene51

XLDnaute Junior
Re : Convertir nombre stocké sous forme de texte

Bonsoir le forum, PascalXLD et BOISGONTIER,

J'ai testé vos solutions sans résoudre mon problème malheureusement.

A la solution de PascalXLD j'ai un message d'erreur : Nombre d'arguments incorrect ou affectation de propriété incorrecte.

Quant à ta proposition BOISGONTIER, j'ai fait la multiplication par 1 de la cellule par elle même et ça ne change pas mon format en nombre.

Je ne comprends pas.
Je n'ai pas précisé que j'ai formaté mon label à l'initialisation par :
Code:
Label88.Caption = "0.0%"

et dans mon label s'affiche un résultat de calcul que j'ai formaté comme ceci :
Code:
Label88 = Format(Label88, "00.00%")

donc pour l'instant mon code reste le suivant :
Code:
    .Cells(Derligne + 1, 11) = Label88.Caption

où la valeur de cellule est sous forme de texte et non de nombre. Cela m'embête car du coup je dois transformer la cellule manuellement pour pouvoir afficher correctement mon graphique.

Si jamais vous avez d'autres pistes, je vous remercie d'avance!

Bonne soirée
 

skoobi

XLDnaute Barbatruc
Re : Convertir nombre stocké sous forme de texte

Bonjour,

dans ce cas tu mets la cellule au format désiré avant d'y mettre la valeur:
Code:
.Cells(Derligne + 1, 11).NumberFormat = "00.00%"
.Cells(Derligne + 1, 11) = Label88.Caption
 

helene51

XLDnaute Junior
Re : Convertir nombre stocké sous forme de texte

Bonsoir le forum, skoobi,

J'ai testé ta solution mais ça n'a pas fonctionné.
Cependant, à force de recherche et de persuasion, j'ai fini par trouver une méthode qui me donne le résultat attendu :

Code:
nombre1 = CDbl(Label88.Caption)

    .Cells(Derligne + 1, 11) = nombre1
    .Cells(Derligne + 1, 11).NumberFormat = "00.00%"

Bonne soirée et merci encore pour votre aide !
 

Discussions similaires

Statistiques des forums

Discussions
312 298
Messages
2 086 979
Membres
103 419
dernier inscrit
mk29