Bon, pour le format on peut faire un truc du genre, ça fonctionne :
TextBox1.Text = Format(TextBox1.Text, Worksheets("Test").Range("B5").NumberFormat)
Donc si tu veux le faire sur ordre, pour moi, tu colle un bouton dans ton userform, et tu lui associe un code du type (en reprenant la proposition de Dan) :
With TextBox1
.BackColor = Worksheets("Test").Range("B5").Interior.Color
.ForeColor = Worksheets("Test").Range("B5").Font.Color
.Font.Size = Worksheets("Test").Range("B5").Font.Size
.Text = Format(TextBox1.Text, Worksheets("Test").Range("B5").NumberFormat)
End With
Quitte à mettre ca dans une fonction, et lorsque tu veux donner l'ordre de faire la mise en format, tu transmets à la fonction, le nom de la textbox et la cellule de référence, ca doit pouvoir se faire comme ca, mais je pense pas que l'on puisse le faire en 1 seule commande.
Par contre hésites pas à tester les formats, mais je crois que ca garde les standards anglo-saxon, j'ai essayé avec une cellule ayant le format monétaire, ca marche, mais ca m'a ajouté le symbole $ au lieu de € alors que si je regarde mon format de cellule, c'est bien le €
Donc il faudra peut-être caser un REPLACE() en plus ....
Cordialement,