VBA n'aime pas les 0,5

Signaler
Messages postés
4
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
13 juillet 2012
-
Messages postés
4
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
13 juillet 2012
-
Bonjour à tous,

J'ai un petit problème avec les ",5" dans un mini programme VBA que je développe :
suite à un calcul dans une feuille excel, je renvoie le résultat vers une textbox et vers une cellule d'une autre feuille. Ce résultat peut être sous la forme "12,5".

La textbox prend bien la valeur "12,5" à l'inscription, mais pas la cellule de la deuxième feuille qui inscrit juste "12".
Comment puis-je faire en sorte que la cellule inscrive aussi "12,5" ? Parce que dans le reste de mon programme, cette valeur est utilisée pour d'autres calculs, ce qui fausse tout ...

Merci de votre aide, et si je suis pas assez claire, n'hésitez pas à me le dire.

6 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
Bonjour,
Je t'invite à lire cette très récente discussion : Tapez le texte de l'url ici.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
4
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
13 juillet 2012

Merci pour cette réponse vive comme l'éclair.
Ça ne fonctionne toujours pas puisque l'inscription du résultat dans la cellule de destination est "12,00" et non pas "12,5", mais ça avance, j'ai des chiffres après la virgule !
Je vais essayer de chercher d'où ça peut provenir.
Messages postés
4
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
13 juillet 2012

peut être de là :
voici le code qui me permet d'inscrire le résultat dans la cellule de destination :
(txtdet étant la textbox dans laquelle est finalement écrit le "12,5")
With Sheets("feuil2")
.Range("G" & Me.cbonom.ListIndex + 2) = IIf(IsNumeric(Me.txtdet), Val(Me.txtdet), Me.txtdet)

Peut être que le format "IsNumeric" ou "Val" ne convient pas ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
As-tu essayé tout simplement :
sheets("feuil2").value = txtdet.value 

comme je le suggérais dans la discussion vers laquelle je t'ai dirigée ??
Ceci indépendamment du contrôle de la validité de la saisie, qui est un autre aspect !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Bonjour,

Retounes à la discussion citée plus haut.
Il semble que tu n' as pas tout compris.



[] Ce qui va sans dire. va mieux en le disant.
Messages postés
4
Date d'inscription
vendredi 13 juillet 2012
Statut
Membre
Dernière intervention
13 juillet 2012

Ben non, mais oui...
Je pense que j'avais trop le nez dedans pour ne pas simplement écrire :
With Sheets("feuil2")
.Range("G" & Me.cbonom.ListIndex + 2) = Sheets("tmp").Range("C5")

Du coup j'ai vraiment honte d'avoir posé la question... Mais bon, comme quoi, un regard extérieur est souvent nécessaire.
Merci d'avoir répondu.