Posez votre question Signaler

Excel TextBox Format [Résolu]

anocheda 54Messages postés jeudi 22 mai 2008Date d'inscription 17 novembre 2008 Dernière intervention - Dernière réponse le 1 août 2008 à 00:47
Bonjour,
J'ai des TextBox dans mon code qui prennent la valeur de cellules au format pourcentage
Je cherche a avoir la valeur de ma textbox au format pourcentage egalement avec 2 chiffres apres la virgule
Ma textBox s'appel BC1 et pour l'instant elle est egale a 48,22 %
Si je met rien dans le code j'obtien 0,4822 et au format text...
si je met le code suivant
BC1 = Format(BC1, "0.00%")
j'obtien bien 48,22% mais toujours en format text
si je met BC1 = Format(BC1, "0,00%") (avec une virgule)
j'obtien bien un pourcentage mais sans les deimales : il m 'affiche 48,00% au bon format
voila moi je voudrai avoir 48,22 % en tant que nombre et pas tex
si quelau un sait
merci
Antoine
Lire la suite 
Réponse
+3
moins plus
1- affichage
BC1.Value = Format(BC1.Value, "0.00%")

2- récupération valeur
BC1.Value = Replace(BC1.Value, "%", "")
BC1.Value = Replace(BC1.Value, " ", "")
BC1.Value = Replace(BC1.Value, ",", ".")
BC1.Value = Val(BC1.Value)
Ajouter un commentaire
Réponse
+0
moins plus
Merci mais ca change rien,

A l'affichage c'est toujours bon , j' 48,12 % mais il y a toujours une petite fenetre verte dans ma cellule qui dit:
"Nombre stoké sous forme de texte" et donc c'est inutilisable

je te met un fichier ultra simple en joint il prend la cellule A1 la met dans la textBox et la colle dans la cellule A2 et moi je voudrai qu'il n'y ait pas le petit onglet vert dans laq cellule

merci si tu as le temps

bon je sais pas comment on joint un fichier..

tu ouvre un nouveau classeur , tu cré une textbox1 et un boutton et tu colle le code:

Private Sub CommandButton1_Click()

TextBox1.Value = Cells(1, 1).Value
TextBox1.Value = Format(TextBox1.Value, "0.00%")
Cells(1, 2).Value = TextBox1.Value

End Sub

en A1 tu marque 0,1234 et tu appui sur le bouton
en A2 va y avoir la bonne reponse mais au mauvais format ...
Ajouter un commentaire
Réponse
+0
moins plus
'** alimentation champ formulaire
TextBox1.Value = Cells(1, 1).Value

'** transformation en valeur texte pour affichage champ formulaire
TextBox1.Value = Format(TextBox1.Value, "0.00%")

' ** transformation valeur texte en valeur numérique
TextBox1.Value = Replace(TextBox1.Value .Value, "%", "")
TextBox1.Value = Replace(TextBox1.Value .Value, " ", "")
TextBox1.Value = Replace(TextBox1.Value .Value, ",", ".")
TextBox1.Value = Val(TextBox1.Value)

'** alimentation A2
Cells(1, 2).Value = TextBox1.Value
Cells(1, 2).Value.Numberformat = "0,00%"

'** restauration en valeur texte pour affichage champ formulaire
TextBox1.Value = Format(TextBox1.Value, "0.00%")
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,

tu as déjà posé cette question hier, merci d'éviter les doublons.
anocheda 54Messages postés jeudi 22 mai 2008Date d'inscription 17 novembre 2008 Dernière intervention - 31 juil. 2008 à 18:21
Bonjour Eric,

Je sais bien mais hier la personne qui a repondue n'a pas put m'aider et du coup j'ai l'impression que comme il y a déjà eu une reponse les gens regarde plus la question...
en reposant la meme question, en 5 minutes j'ai eu la reponse alors que sinon personne n'aurait lu

voila

dsl

Antoine
Répondre
eriiic 18458Messages postés mardi 11 septembre 2007Date d'inscription ContributeurStatut 27 août 2015 Dernière intervention - 31 juil. 2008 à 20:19
S'il y a des regles sur un forum, elles n'ont pas été édictées au hasard..
Le plus souvent c'est dans un but d'efficacité, de respect des autres.
Pour certaines le simple bon-sens devrait être suffisant et ne pas devoir être écrites mais ...

Un simple 'up' suffit à remettre ta question au début...
En multipliant les posts tu prives les nouveaux lecteurs des précédentes propositions qui ont obligatoirement fait avancer la réponse.
Les personnes qui sont intervenues dans ton 1er post sont peut-être encore en train de chercher (et même de nouveaux lecteurs) puisque tu n'as pas eu la décence courtoisie respect honneteté (rayer les mentions inutiles s'il y en a) de le signaler, voire même de le mettre tout simplement en résolu.
C'est du temps qu'ils auraient pu passer à aider qcq'un d'autre...
J'appele ça de l'égoïsme.

Je ne parle pas des questions où tu as eu 3 réponses et où tu n'as même pas daigné répondre le moindre mot, et donc surtout pas merci

Personnellement je suis intervenu sur 2 de tes questions, elles sont toujours en statut non résolu.
Ton pseudo c'est quoi déjà ? Ah oui anocheda
Mes interventions sur tes questions se limiteront maintenant a mettre un lien vers ce post

Bonne soirée
eric
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
D'accord merci j'avais compri le truc mais ca marche pas....
Est ce que ca marche chez toi?

Si tu prend ton code (en enlevant des petites erreures) et que tu mets 0,1234 en A1,
en A2 tu va avoir le bon resultat mais avec un petit triangle vert qui dit que c'est pas au bon format....
Ajouter un commentaire
Réponse
+0
moins plus
il faut que je vérifie ton exemple car j'ai en fait extrait du code dans une application que j'ai écrite et qui fonctionne correctement. Cela dit, en examinant le mieux le code de cette application, j'apporte une correction :

** alimentation champ formulaire
TextBox1.Value = Cells(1, 1).Value

'** transformation en valeur texte pour affichage champ formulaire
TextBox1.Value = Format(TextBox1.Value, "0.00%")

' ** transformation valeur texte en valeur numérique
TextBox1.Value = Replace(TextBox1.Value .Value, "%", "")
TextBox1.Value = Replace(TextBox1.Value .Value, " ", "")
TextBox1.Value = Replace(TextBox1.Value .Value, ",", ".")
TextBox1.Value = Val(TextBox1.Value) /100
TextBox1.value= Replace(TextBox1..Value, ",", ".")


'** alimentation A2
Cells(1, 2) = TextBox1.Value
Cells(1, 2).Numberformat = "0,00%"
'** restauration en valeur texte pour affichage champ formulaire
TextBox1.Value = Format(TextBox1.Value, "0.00%")

A vérifier et au fait, as-tu vérifié le format de ta cellule A2. Elle doit être au format standard ou nombre.
Ajouter un commentaire
Réponse
+0
moins plus
Excellent ca marche avec ton aide, en fait il faut juste faire:


TextBox1.Value = Cells(1, 1).Value

TextBox1.Value = Format(TextBox1.Value, "0.00%")
TextBox1.Value = Replace(TextBox1.Value , ",", ".")

Cells(1, 2) = TextBox1.Value
Cells(1, 2).NumberFormat = "0.00%" ' avec un point ici et pas une virgule

ca marche super bien maintenant

merci
Ajouter un commentaire
Réponse
+0
moins plus
et pour être sûr que tout le monde le lise un p'tit lien à la fin :
http://www.commentcamarche.net/forum/affich 7677380 excel textbox format#9
Mike-31 13433Messages postés dimanche 17 février 2008Date d'inscription ContributeurStatut 27 août 2015 Dernière intervention - 31 juil. 2008 à 22:24
Salut eriiic,

Bravo pour ce coup de gueule il fallait le dire, la moindre des choses est de dire bonjour, au revoir s'il vous plait et merci,
La courtoisie et le respect n'ont plus de sens.

Bonne soirée A+
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
Salut Eric,

Faut pas s'enerver comme ca !!!

j'pense pas avoir été aussi méchant, égoiste, indécent... pour avoir reposé une question déĵà posée...
effectivement j'aurai du mettre résolu sur l'autre ou la remettre en haut mais... j'y ai pas pensé...

J'ai du poser une 30 ene de questions sur ce forum et j'ai du oublier de dire merci a 2 effectivement
C'est parceque j'ai pas compri les réponses et que j'ai changé d'idée entre temps, c'est vrai que c'est un peu égoiste.

Je trouve ce forum super bien et les gens dessus excellent, rapide et sympa donc je m'excuse si tu as mal pri ce message, j'recommencerai plus...

On reste ami quand meme?

anocheda
Ajouter un commentaire
Réponse
+0
moins plus
Je pense qu'à un certain moment il faut savoir dire les choses.
C'est tombé sur toi comme ça aurait pu tomber sur d'autres, rappeler les regles élémentaires est malheureusement nécessaire...
Sans rancune mais n'oublie pas que laisser un mot, même la personne n'a pas résolu ton pb, est le minimum pour la remercier d'y avoir passer du temps.
eric
Ajouter un commentaire
Ce document intitulé «  Excel TextBox Format  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

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

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.