Mise en forme Label dans un Userform

Bonjour à tous,

J'ai créé récemment un userform avec un multipage dans lequel je veux afficher des valeurs, récupérées dans des cellules sous la forme "€ /m²" et en "€". Pour cela ma ligne de code est :

UserForm6.Label132.Caption = Format(Worksheets("feuil2").Cells(89, 14), "0.00 €/m²")
UserForm6.Label134.Caption = Format(Worksheets("feuil2").Cells(89, 16), "### ### ##0 €")

Lorsque j'affiche le formulaire, pas de problème la valeur s'affiche bien en €/m². Par contre lorsque je change la valeur dans le fichier excel et que j'affiche de nouveau le formulaire le "€/m²" a disparu mais par contre les valeurs en € ne bougent pas.

De plus, je rencontre ce problème uniquement sur la page 3 de mon userform, par contre quand je change les valeurs qui sont reprises sur la première page, il n'y a aucun problème alors que le code est exactement le même.

POUR INFO:

Je reprends beaucoup plus de valeurs dans troisième page de l'userform (environ 50) que dans la première (environ 20).

J'avais des procédures keypress et command_button_click dans les formulaires, je les ai supprimées le problème persiste.

Je ne peux malheureusement pas poster le fichier ici pour des raisons de confidentialité.

Merci d'avance pour votre aide.

Je ne peux malhereusement pas poster le fichier ici pour des raisons de confidentialité.

Bonjour,

Sans voir le fichier et le code complet, tu modifies les données dans ton fichier excel avec l'userform ouverte ou fermée ?

Crdlt

Bonjour Dan,

Je modifie les valeurs quand l'userform est fermé.

re

Sans voir le fichier...

est-ce que tu vides bien les rubriques lorsque tu fermes l'USF.

Au lancement de l'USF tu n'utilisdes pas le ROWSOURCE par hasard ??

Le mieux serait que je vois que je vois la macro utilisée quand tu fermes l'USF et celle quand tu l'ouvres.

Crdlt

Re,

Concernant le code j'ai en gros 105 lignes de la même manière que les premières que j'ai indiqué dans le premier message sur l'événement Userform2.Initialize, plus une petite Sub en plus pour basculer vers un autre onglet lorsqu'on clique sur un bouton.

Je n'ai rien prévu pour vider les rubriques, je ferme simplement l'Userform par la croix en haut à droite. je n'ai pas de procédure Me.Unload, est ce que ça viendrait d'ici ?

Et je n'utilise pas non plus le Rowsource dans l'userfrom.

Merci pour ton aide

J'ai intégré un bouton pour fermer l'userform par Unload Me, mais le problème persiste.

Je ne sais pas si c'est utile de le préciser mais l'userform est non modal.

re

.... Userform2.Initialize...

Si tu as un code comme cela, tu dois enlever le chiffre 2, est-ce une erreur de frappe ??

Je n'ai rien prévu pour vider les rubriques, je ferme simplement l'Userform par la croix en haut à droite. je n'ai pas de procédure Me.Unload, est ce que ça viendrait d'ici ?

Si tu cliques sur la croix, pas de souci de ce coté

Autre chose, pourquoi tu utilises des labels pour importer des données de ta feuille ??

Tu devrais plutot avoir des textbox ou listbox

A te relire

Re,

Désolé pour "Userform2.initialize" c'était effectivement une faute de frappe.

J'utilise des labels pour une simple question de présentation, je trouvais ça plus esthétique que des textbox, de plus j'ai certains intitulés qui doivent être modifiés et il mieux de mettre ça dans des labels.

Re

J'utilise des labels pour une simple question de présentation, je trouvais ça plus esthétique que des textbox,

Sache que tu as tous les outils VBA pour qu'une textbox ressemble à un label.

Pour ton souci, il faudrait voir le code complet ou tout au moins le fichier avec tes données non condientielles

Est-ce possible ?

A te relire

Bonjour Dan,

Je joint un fichier qui reprend exactement ce que je fais sur mon fichier de base.

Tu verras sur la première page le tableau de présentation et les différents boutons "show details" qui permettent d'ouvrir les userforms. Il y en a 10 en tout mais pour simplifier je n'ai repris que le premier, tous les autres étant exactement les mêmes en changeant juste le nom du USF.

Les informations dans l'USF sont prises dans le second onglet ("Feuil2"). Tu as dans cet onglet:

  • En noir les valeurs telles qu'elles sont depuis le début et qui se présentent bien quand j'ouvre l'USF.
  • En rouge les valeurs qui perdent leurs mises en forme dans l'USF lorsqu'elles sont modifées
  • En vert les valeurs qui conservent bien leur mise en forme dans l'USF même quand je les modifie.

J'ai remarqué que le problème se présentait seulement pour les valeurs dont la mise en forme est "€/sqm". Mais par contre je n'arrive pas à trouver de cohérence entre les valeurs qui fonctionnent biens et celles qui ne fonctionnent pas...

Re

Merci de ton fichier.

En fait j'ai l'impression qu'il n'y a aucun souci. Simplement que la dimension de ton label n'est pas assez large pour afficher ce que tu veux voir.

Exemple, élargis le label177 dans l'USF, puis modifie en N33 pour voir

Ce que tu peux faire, c'est mettre la propriété AUTOSIZE du Label sur TRUE au lieu de FALSE. De cette sorte, le lable sera redimmensionné automatiquement.

A te relire

Bonjour Dan,

Désolé de te répondre tardivement, je n'avais pas vu qu'il y avait une page 2 sur notre discussion (bizuth... )

Je viens de modifier la taille des labels et effectivement tout fonctionne correctement maitnenant.

Merci beaucoup pour ton aide et j'espère à bientôt,

Rechercher des sujets similaires à "mise forme label userform"