Format pourcentage dans une textbox

Bonjour,

Comme à chaque fois que je post c'est parce que je viens déjà de passer plusieurs heures à écumer le forum et tous les autres pour trouver une solution.

Voici un extrait de codes que j'ai tapé qui fonctionnent très bien :

If Sheets("Lignes Accueil Hebdo 2019-2020").Range("AX9").Value <> "" Then Me.TextBox10 = Sheets("Lignes Accueil Hebdo 2019-2020").Range("AX55")

If Sheets("Lignes Accueil Hebdo 2019-2020").Range("AY9").Value <> "" Then Me.TextBox10 = Sheets("Lignes Accueil Hebdo 2019-2020").Range("AY55")

If Sheets("Lignes Accueil Hebdo 2019-2020").Range("AZ9").Value <> "" Then Me.TextBox10 = Sheets("Lignes Accueil Hebdo 2019-2020").Range("AZ55")

If Sheets("Lignes Accueil Hebdo 2019-2020").Range("BA9").Value <> "" Then Me.TextBox10 = Sheets("Lignes Accueil Hebdo 2019-2020").Range("BA55")

Le résultat qui apparait dans la textbox10 va être par exemple "0,21", je veux simplement que ce résultat apparaisse sous la forme "21%"

J'ai donc un peu naïvement modifié une de mes lignes de la manière suivante :

If Sheets("Lignes Accueil Hebdo 2019-2020").Range("BB9").Value <> "" Then Me.TextBox10 = Format(Sheets("Lignes Accueil Hebdo 2019-2020").Range("BB55").Value, "0,00%")

Mais rien à faire j'ai toujours un message d'erreur "erreur d'éxecution '13 : incompatibilité de type"

J'ai tenté de modifier toutes les cellules concerné par le code au format texte, nombre, standard et pourcentage sans succès.

Merci d'avance pour votre aide

Bonjour Mecha, le forum,

Sheets("Feuil1").Range("A:A").NumberFormat = "0.00, %"

Bien cordialement,

Bonjour MPETIT, merci pour ta réponse.

J'ai déjà essayé ca, j'ai essayé de le mettre dans le workbook ou dans l"initialize" de mon USF mais ca ne change rien.

bonjour,

la syntaxe pour mettre une valeur numérique au format % dans un textbox est

Me.TextBox1 = Format(Range("A1"), "0.00%")

adapter range("A1") à ton classeur

bonjour,

la syntaxe pour mettre une valeur numérique au format % dans un textbox est

Me.TextBox1 = Format(Range("A1"), "0.00%")

adapter range("A1") à ton classeur

Merci à toi aussi pour ton aide,

J'ai donc écris :

If Sheets("Lignes Accueil Hebdo 2019-2020").Range("BB9").Value <> "" Then Me.TextBox10 = Format(Sheets("Lignes Accueil Hebdo 2019-2020").Range("BB55"), "0,00%")

Pas de changement

Peux tu nous envoyer ton fichier ? Sinon une version exemple ou avec des informations bidons

Bien cordialement,

Peux tu nous envoyer ton fichier ? Sinon une version exemple ou avec des informations bidons

Bien cordialement,

Ci-joint une version du fichier sans info confidentielles (j'espère que je n'en ai pas oublié)

39wip-demo.xlsm (249.35 Ko)

Bonjour tu indiques que tu as écris : "0,00%"

hors le code proposé c'était : "0.00%" avec un point pas une virgule.

Bonjour tu indiques que tu as écris : "0,00%"

hors le code proposé c'était : "0.00%" avec un point pas une virgule.

OH oui en effet tu as raison. J'ai fais l'essai en mettant bien un point mais pas de changement

Et moi qui cherche depuis tout à l'heure alors que l'erreur était juste là…

Comme quoi !

Valide ton post si ton soucie est résolue.

Bien cordialement,

Et moi qui cherche depuis tout à l'heure alors que l'erreur était juste là…

Comme quoi !

Valide ton post si ton soucie est résolue.

Bien cordialement,

non toujours le même soucis, je continue à chercher et à tester tout ce que je trouve en ligne sur le sujet mais pas de changement

Tu as tellement de code un peu partout dans ton fichier que même une nouvelle textbox n'affiche rien.

Si les textbox sont alimentées à l'ouverture du fichier tu peux me dire pourquoi tu utilises aussi des

Textbox change() pour alimenter une seconde fois

Tu as une moitié de format "0.00%" d'autres "0.0 %" d'autres "0,00 %" il n'y a que le premier de bon exemple.

Faut faire le ménage dans tes codes. quand aux Me.textbox pas convaincu que ce soit nécessaire. un simple Textbox.1=…..

devrait suffir.

Pour exemple du format textbox. ci-après.

Tu as tellement de code un peu partout dans ton fichier que même une nouvelle textbox n'affiche rien.

Si les textbox sont alimentées à l'ouverture du fichier tu peux me dire pourquoi tu utilises aussi des

Textbox change() pour alimenter une seconde fois

Tu as une moitié de format "0.00%" d'autres "0.0 %" d'autres "0,00 %" il n'y a que le premier de bon exemple.

Faut faire le ménage dans tes codes. quand aux Me.textbox pas convaincu que ce soit nécessaire. un simple Textbox.1=…..

devrait suffir.

Pour exemple du format textbox. ci-après. testformatpourcentage.xlsm

En effet, à force d'essayer différentes choses mon code était un sacré bazar, après avoir nettoyé un peu tout ca et supprimé tous les doublons je n'ai malheureusement pas de changement, si je fais une ligne simple comme dans ton exemple ca fonctionne pas de soucis mais à partir du moment ou je veux appliquer ce même format à ma valeur après le THEN c'est là que ca ne fonctionne plus.

Est-ce qu'il existerait un moyen de forcer un format directement dans les propriétés de la textbox peu importe la valeur quelle affiche ?

Bonjour,

peux-tu nous mettre ton classeur avec ce nouveau code ?

Bonjour,

peux-tu nous mettre ton classeur avec ce nouveau code ?

Oui bien sur pardon, ci-joint.

Merci de prendre le temps de m'aider

P.S : je reprécise, je cherche à obtenir un format pourcentage dans l'affichage des textbox 10 et 11

21wip-demo.xlsm (247.30 Ko)

bonjour,

une façon de corriger ton problème.

tu peux simplifier grandement ton code en utilisant des boucles !

36wip-demo.xlsm (243.82 Ko)

bonjour,

une façon de corriger ton problème.

tu peux simplifier grandement ton code en utilisant des boucles !

Merci de ton aide,

Je n'arrive pas à voir si cela résoudre mon problème car j'obtiens maintenant le message suivant : "Erreur de compilation : procédure trop grande".

Je vais me renseigner sur ce qu'est une boucle et son utilisation, désolé je suis totalement néophyte et j’essaie d'apprendre au fur et à mesure.

Bon, si je copie colle ton code j'obtiens systématiquement l'erreur : "Erreur de compilation : procédure trop grande".

Si j'isole les lignes (je ne sais pas si le terme est bon, je met un ' devant les lignes) je retrouve le fichier comme avant , j'ai lu que c'était généralement une histoire de compatibilité entre du vba fait sous une version 64bits un office en 32bit, je suis en 32bit.

Mais je devrais quand même pouvoir faire un copier coller de ton code non ?

Est-ce que cela vient du fait que tout mon code soit dans "initialize" du userform ?

je sèche

Re,

J'ai cru voir que tes textbox s'initialisent au démarrage. tailles différentes si vide ….. as tu fais d'autres modification dans

la propriété de tes textbox ? (valeur par defaut ) …..

Re,

J'ai cru voir que tes textbox s'initialisent au démarrage. tailles différentes si vide ….. as tu fais d'autres modification dans

la propriété de tes textbox ? (valeur par defaut ) …..

A part l'autosize activé et la police ou la couleur d'écriture non je ne crois pas avoir modifié d'autres paramètres (je te mets une capture en fichier joint)

Par contre, je crois comprendre que mon soucis vient du nombre de ligne, car si je les isolent toutes puis que je les réactive une par une le code fonctionne jusqu'à ce que je réactive la ligne de trop et là je récupère mon message d'erreur, c'est cohérent selon vous ?

Je suppose que je dois faire une boucle pour remplacer toutes mes lignes ?

Je suis entrain de lire les cours vba sur les boucles mais vous qui avez jeté un oeil à mon code vous pourriez m'orienter un peu sur le type de boucle que je dois mettre en place ?

capttextb
Rechercher des sujets similaires à "format pourcentage textbox"