TextBox dans un Userform affiche et enregistre %

  • Initiateur de la discussion Initiateur de la discussion bloomby
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bloomby

XLDnaute Occasionnel
Bonjour à tous,

J'ai un userform qui contient plusieurs Textbox.
Dans un premier temps, j'aimerais que les texbox affichent des valeurs en %

Par la suite, lorsque j'inscris une valeur dans la textbox
cette dernière est enregistrée sur la feuille du classeur, mais sous aucune forme

Même si FormatNumber est en chiffre ou % cela change rien
je dois cliquer à l'intérieur de la cellule et faire enter pour que la cellule
prenne cette forme

Pour afficher en % j'ai essayer le code suivant

Sub Show_TextBox()
Dim n As Variant
For n = 30 To 68
UserForm1.Controls("TextBox" & 1000 + n) = Sheets("Sheet1").Cells(3, n - 28).Value
UserForm1.Controls("TextBox" & 1000 + n) = Format("0.00")
Next n
End Sub

cela ne fonctionne pas, tout les texbox affiche "0"
et pour enregistrer en % j'ai aucune idée

quelqu'un aurait une idée pour résoudre ce problème

merci
 
Dernière édition:
Re : TextBox dans un Userform affiche et enregistre %

Bonjour à tous,

L'affichage est résolue

UserForm1.Controls("TextBox" & 1000 + n) = Format(Cells(3, n - 28).Value, "0.00%")

Mais l'enregistrement, n'est pas en format %
les chiffres sont allignés à la gauche dans la cellule, je dois donc encore cliquer à l'intérieur de la cellule et faire "enter" "Entrée"

merci
 
Dernière édition:
Re : TextBox dans un Userform affiche et enregistre %

Bonjour Bloomby, le forum,

Je vais peut-être dire une annerie mais ej me lance quans même lol.

Pour qu'un textbox renvoi une valeur numérique, il faut coder comme ceci:
Range("A1")= TextBox1.Value * 1

Peut-être que cela pourrais résoudre ton problème!?! Avec une incertitude (car j'ai pas testé) ton format nombre de ta taxtbox.

Bonne journée!
 
Re : TextBox dans un Userform affiche et enregistre %

Bonsoir bloomby, le forum,

ci-joint un exemple d'utilisation:
.Range("G" & derlign).Value = TextBox4.Value * 1 'Heures

En effet je met .value avant le *1.

Pour ton contrôle userform1.controls.
Habituellement je l'écris Me.controls comme ceci:
Code:
Private Sub CommandButton5_Click()
    For i = 2 To 8
    Me.Controls("Combobox" & i).Value = ""
    Next i
    For j = 1 To 9
    Me.Controls("CheckBox" & j).Value = False
    Me.Controls("Label" & j).BackColor = &HFFC0C0
    Next j
    TextBox1.Value = ""

Pour ton message d'erreur regarde ici:
"Run-time error:'13' Type Mismatch" error message when you click a macro or a function on a menu in Excel 2002

A te lire!

Edit: et ici: http://support.microsoft.com/kb/821292
 
Dernière édition:
Re : TextBox dans un Userform affiche et enregistre %

Bonsoir bloomby, alex67800

Bonjour alex, le forum,

J'ai essayé de rajouter *1
et j'ai un message d'erreur



run error 13 type miss-match

Bloomby

On obtient cette erreur si le textbox ne contient pas une valeur numérique comme par exemple 10.2
On remplace le point par une virgule
TextBox1.Value = Replace(TextBox1.Value, ".", ",")
Et on teste la valeur
If isnumeric(Textbox1.value) then


JP
 
Re : TextBox dans un Userform affiche et enregistre %

Bonjour à tous, le forum, alex, Jp14,

Pour l'instant je suis incapble.
Cela dit, j'ai une version anglaise, je n'est donc pas besoin de convertir le "." en ","
Mais le *1 me signal un msg d'erreur.

Bloomby
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
784
Réponses
8
Affichages
2 K
Retour