Excel TextBox Format

Résolu/Fermé
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 - 31 juil. 2008 à 15:57
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 - 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
A voir également:

10 réponses

thev Messages postés 1851 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 15 avril 2024 681
31 juil. 2008 à 16:13
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)
1
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
31 juil. 2008 à 16:24
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 ...
0
thev Messages postés 1851 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 15 avril 2024 681
31 juil. 2008 à 17:00
'** 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%")
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
31 juil. 2008 à 17:06
Bonjour,

tu as déjà posé cette question hier, merci d'éviter les doublons.
0
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
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
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211 > anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
31 juil. 2008 à 17:06
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....
0
thev Messages postés 1851 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 15 avril 2024 681
31 juil. 2008 à 17:36
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.
0
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
31 juil. 2008 à 18:18
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
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
31 juil. 2008 à 20:26
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
0
Mike-31 Messages postés 18310 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 29 mars 2024 5 073
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+
0
anocheda Messages postés 54 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 17 novembre 2008 3
31 juil. 2008 à 22:30
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
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 211
1 août 2008 à 00:47
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
0