Ajouter un bouton sur userform pour insérer un caractère spéciale

Bonjour,

je viens vers vous car je peaufine mon fichier mais je me heurte à deux soucis.

Le principal est que je fait rentrer des valeurs via textbox sur userform et dans l'une d'elles il y a parfois à ajouter un "≤".

Pour l'instant, le plus simple était d'aller cherche sur la feuille le signe et de le copier coller dans le textbox. Sauf que je ne trouve pas ça très pratique, et j'aimerai trouver un moyen. Par exemple un bouton sous le textbox qui fasse qu'au niveau du curseur ce caractère s'inscrive.

Merci de m'avoir lu et pour vos éventuelles réponses.

Petite question bonus :

J'ai une textbox qui n'accepte que les chiffres et qui écrit dans une cellule mais si je supprime la valeur pour en écrire une autre ensuite, au moment de la suppression, j'ai une Erreur d'exécution '13' qui me surligne ma première ligne de code si vous avez une solution, je suis preneur. Je me doute que c'est quelque chose de tout bête mais je ne trouve pas.

Private Sub TextBox14_Change()
Workbooks("Base_publipostage_V2 +vba.xls").Sheets("Base").Range("A3").Value = CDbl(Me.TextBox14)
End Sub
ET
Private Sub TextBox14_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
   If InStr("0123456789", Chr(KeyAscii)) = 0 Then KeyAscii = 0: Beep
End Sub

Bonsoir L3GION,

Pour ton 1ier code rajoute

if Len(TextBox14)>0 then Workbook("Base ...etc.... = CDbl(TextBox14)

Pour ta demande de bouton, c'est pas très clair, au minimum une image de ce que tu veux faire serait plus explicite.

Bonne continuation.

Bonjour à tous,

un exemple.

≤ est dans un label à double-cliquer (ou au clic si tu préfères) pour l'insérer dans le textbox.

S'il y a une sélection de faite, elle est remplacée.

Tu peux t'en créer d'autres sur le même modèle.

Private Sub LblCar1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    With TextBox1
        TextBox1.Text = Left(TextBox1.Text, TextBox1.SelStart) & LblCar1 & Mid(.Text, .SelStart + .SelLength + 1)
        End With
End Sub

eric

Edit : lire : & LblCar1.Caption &

9classeur2.xlsm (19.91 Ko)

Bonjour à tous,

un exemple.

≤ est dans un label à double-cliquer (ou au clic si tu préfères) pour l'insérer dans le textbox.

S'il y a une sélection de faite, elle est remplacée.

Tu peux t'en créer d'autres sur le même modèle.

Private Sub LblCar1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    With TextBox1
        TextBox1.Text = Left(TextBox1.Text, TextBox1.SelStart) & LblCar1 & Mid(.Text, .SelStart + .SelLength + 1)
        End With
End Sub

eric

Edit : lire : & LblCar1.Caption &

C'est parfait ! Merci !

Par contre, 2 point :

  • je n'ai pas compris ton "Edit"
  • Comment as tu mis le signe dans le label, car j'ai vu que dans le caption de ton label il y avait un "=" ? J'ai voulu reproduire la même chose pour le signe supérieur ou égale.

Bonsoir L3GION,

Pour ton 1ier code rajoute

if Len(TextBox14)>0 then Workbook("Base ...etc.... = CDbl(TextBox14)

Pour ta demande de bouton, c'est pas très clair, au minimum une image de ce que tu veux faire serait plus explicite.

Bonne continuation.

Merci bien ça fonctionne très bien, surtout quand on oublie pas le "end if"

Bonjour L3GION,

Private Sub TextBox14_Change()
if Len(TextBox14)>0 then Workbooks("Base_publipostage_V2 +vba.xls").Sheets("Base").Range("A3").Value = CDbl(Me.TextBox14)
End Sub

Il n'y a pas besoin de End if puisque le code est écrit sur une seule ligne.

Bonjour,

Par contre, 2 point :

  • je n'ai pas compris ton "Edit"
  • Comment as tu mis le signe dans le label, car j'ai vu que dans le caption de ton label il y avait un "=" ? J'ai voulu reproduire la même chose pour le signe supérieur ou égale.

1) j'avais oublié de mettre la propriété utilisée .Caption

C'est sûr que c'est celle par défaut d'un label, c'est juste pour la clarté du code

2) de mémoire j'ai dû faire un copié-collé, mais sur le userform directement, pas dans les propriétés.

eric

Rechercher des sujets similaires à "ajouter bouton userform inserer caractere speciale"