Signaler

Textbox - valeur au format texte [Résolu/Fermé]

Posez votre question n2o_ge 7Messages postés dimanche 7 octobre 2007Date d'inscription 9 octobre 2007 Dernière intervention - Dernière réponse le 8 oct. 2007 à 20:28 par n2o_ge
Bonjour,
Pouvez-vous svp m'aider... je suis depuis peu sur VBA et également sur ce site qui m'a déjà permis d'apprendre passablement de chose... mais j'ai un petit problème avec les textbox.

Elles me renvoient une valeur en format texte alors quand dans mon fichier excel j'en ai besoin en format nombre.

J'ai essayé plusieurs formulation pour incrémenter la valeur à la cellule mais rien n'y fait :-(

EDIDebit.Value = Format(EDIDebit.Value, "0.00")
_________________________________________________
EDIDebit.Value = Format(EDIDebit.Value, "#,##0.00")
_________________________________________________
Dim Nb1 As Double
Nb1 = EDIDebit.Value
_________________________________________________
Dim NouvelleLigne
NouvelleLigne = ActiveSheet.UsedRange.Rows.Count + 1 ' compte nombre de ligne et ajoute un pour mettre à la suite
Cells(NouvelleLigne, 6) = Format(EDIDebit, "0.00")
_________________________________________________
Cells(NouvelleLigne, 6) = Format(EDIDebit, "#,##0.00")
_________________________________________________

Je souhaiterai en faite créer une base de données avec des positions contenant des débits et des crédits (c'est un programme de comptabilité)

Je vous remercie d'avance pour votre aide.
Afficher la suite 
Utile
+0
plus moins
Bonsoir,

les fonctions de conversions en vba sont :
CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CSng(expression)
CStr(expression)
CVar(expression)

eric
Utile
+0
plus moins
je suis désolé mais j'aimerai bien un exemple plus concret :

j'ai une textbox qui s'appelle EDIDebit et je voudrais que quand je la rajoute dans Cells(1,4) elle prenne directement le format nombre.

Désolé :-(
Utile
+0
plus moins
J'ai trouvé une solution pas très propre mais qui fonctionne... la cellule contenant le nombre au format texte je la multiplie par un dans une autre cellule et j'obtient ce que je souhaitai.

Alors si qqun a mieux quand meme en terme de code j'apprécierai :-)
Utile
+0
plus moins
Re,

[A1].value = CCur(EDIDebit.value) si tu veux coller le résultat au format monétaire dans A1 par exemple.
Quand tu butes sur une fonction dans VBA, tu l'écris et tu fais F1 dessus, l'aide excel est très bien documentée avec des exemples.
eric
Utile
+0
plus moins
Salut Eric,

Merci infiniment !!!!!!!!!

En fait d'après ce que j'ai compris il faut d'abord ajouter la valeur dans la cellule et ensuite écrire Cells(1,1).Value = CCur(EDIDebit.value) ?

Merci encore pour ton aide
Lorenzo
Utile
+0
plus moins
Normalement tu peux l'inscrire directement au bon format
eric
Utile
+0
plus moins
Ok, merci beaucoup j'essaierai ce soir.

Et si je veux paramétrer une Currency sans faire référence à une monnaie, comment doit-on transformer Cells(1,1).Value = CCur(EDIDebit.value) ?

Car chez moi (en suisse) il va mettre dans ce format "Sfr #,##0.00" et je n'aimerai pas qu'il y ai des Sfr partout.

Lorenzo
Utile
+0
plus moins
Currency est un type de variable qui conserve tous les chiffres significatifs (donc pas de puissances de 10) avec 4 chi après la virgule en interne, donc bien adapté à la monnaie.
Après c'est à toi de définir le format d'affichage de cette zone dans "format de cellule / Monétaire".
eric
Utile
+0
plus moins
Bonsoir Eric,

Ok donc le paramétrage se fait directement dans excel.

Merci infiniment pour ton aide.

Bonne soirée

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !