écrire symbole % sans changer de format

Résolu
ezor Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   -  
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à toutes et à tous,

J'ai un problème avec l'écriture d'un résultat dans un cellule depuis un macro.
j'ai une variable var, que je veux afficher sous forme de pourcentage dans une cellule, c'est à dire que je veux faire
Cells(4, 6) = var * 100 & "%"
Donc multiplier par 100 et écrire le symbole "%" à coté.
Seulement en faisant ça, je me retrouve avec un nombre en 10^12 (affichage scientifique avec un nombre bien trop grand, au lieu d'un pourcentage entre 0 et 100 suivit du symbole %). J'ai essayer de rajouter cette ligne après l'écriture
Range("F4").NumberFormat = "General"

ou
Range("F4").NumberFormat = "@"

afin de remettre le tout dans un format texte, mais rien n'y fait.

L'enregistreur de macro ne m'a pas aidé non plus.

D'avance merci pour vos réponses et solutions,
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

convertir le nombre*100 en chaine de carcteres

Cells(4, 6) = CStr(Var * 100) & "%"
0
ezor Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour et merci.
j'ai converti en String mon résultat. j'ai bien un affichache de la forme "nombre%" mais ce nombre reste exagerement grand (il est mutiplié par 10^13 !)

L'une des solutions que j'ai trouvé est de compenser cette mutiplication par 10^13 en divisant ma varible var par 10^12 (sans forcément utiliser CSrs() mais ça ne marche pas toujours, car var est systématiquement multiplié par ce qu'il faut pour devenir un nombre en 10^13)et en mettant le format de la cellule en pourcentage
Range("F4").NumberFormat = "0.00%"

Mais d'une part je perd beaucoup de chiffre après la virgule (pas trop grave dans mon cas, mais ça pourrait l'être), d'autre part, je ne comprend pas pourquoi excel multiplie ma variable par 10^quelque_chose avant de l'écrire comme un nombre de l'ordre de 10^13.
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > ezor Messages postés 177 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

le format de cellule doit etre Standard pas autre chose !!!!!!!!!!!!!!!!!!!!!!!!!!

donnez une valeur de Var pour voir
0
ezor Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   11
 
en format standart, que je convertisse ou non en String ma varaible, le résultat est le même. j'ai une valeur en 10^12 et pas de symbole %
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713 > ezor Messages postés 177 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

en String ma varaible ce n'est pas la variable, mais le resultat de l'operation
j'ai une valeur en 10^12 je vous ai demande de donner la valeur de Var pour comprendre ce qui ce passe !!!!!
0
ezor Messages postés 177 Date d'inscription   Statut Membre Dernière intervention   11
 
var = 0,703703703703704
var*100 = 70,3703703703704
affichage dans la cellule 7,03702E+12
valeur réèlle dans la cellule 7037037037037,04
format de la cellule : standart
0