Excel TextBox Format
Résolu
anocheda
Messages postés
54
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Vba textbox format nombre
- Format epub - Guide
- Format factory - Télécharger - Conversion & Codecs
- Hp usb disk storage format tool - Télécharger - Stockage
- Format apfs - Guide
- Format doc - Guide
10 réponses
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)
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)
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 ...
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 ...
'** 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%")
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%")
Bonjour,
tu as déjà posé cette question hier, merci d'éviter les doublons.
tu as déjà posé cette question hier, merci d'éviter les doublons.
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
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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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....
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....
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.
** 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.
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
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
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
http://www.commentcamarche.net/forum/affich 7677380 excel textbox format#9
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
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
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
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