écrire dans la textbox qui est sélectionnée

David590

XLDnaute Occasionnel
Bonjour à tous,

J'essai d’écrire dans la textbox séléctionné d'un userform

C'est a dire que que j'aimerai que mon bouton écrit dans la textbox1 si la textbox1 est sélectionnée
et dans la textbox2 si la textbox2 est sélectionnée

J'ai essayé ceci :
Code:
    If UserForm1.TextBox1.Activate Then
        UserForm1.TextBox1 = UserForm1.TextBox1 & "test"
    ElseIf UserForm1.TextBox2.Activate Then
        UserForm1.TextBox2 = UserForm1.TextBox2 & "test"
    End If

Mais ça ne marche pas avec .activate, ni .select

Une idée?
 

Pièces jointes

  • Classeur1.xlsm
    24.9 KB · Affichages: 53
  • Classeur1.xlsm
    24.9 KB · Affichages: 54
  • Classeur1.xlsm
    24.9 KB · Affichages: 61
Dernière édition:

CHALET53

XLDnaute Barbatruc
Re : écrire dans la textbox qui est sélectionnée

Re,

tu peux aussi compléter les deux procédures ainsi :

Private Sub CheckBox1_Click()
If CheckBox1 Then UserForm1.TextBox1 = UserForm1.TextBox1 & "test" Else UserForm1.TextBox2 = UserForm1.TextBox2 & "top"
End Sub

Private Sub CheckBox2_Click()
If CheckBox2 Then UserForm1.TextBox2 = UserForm1.TextBox2 & "top" Else UserForm1.TextBox1 = UserForm1.TextBox1 & "test"

End Sub
 

job75

XLDnaute Barbatruc
Re : écrire dans la textbox qui est sélectionnée

Bonjour David590,

Apparemment votre pièce jointe n'est pas valide...

Mais testez en plaçant ce qui suit dans le code de l'UserForm :

Code:
Option Explicit
Dim ctrl As Control 'mémorise la variable

Private Sub CommandButton1_Click()
ctrl = ctrl & "test"
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Set ctrl = TextBox1
End Sub

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Set ctrl = TextBox2
End Sub
Edit : salut CHALET53, pas rafraîchi

A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : écrire dans la textbox qui est sélectionnée

Re,

J'ai enfin pu ouvrir le fichier, ce n'est pas ce que je pensais, mais alors c'est très simple :

Code:
Private Sub CommandButton2_Click()
UserForm1.ActiveControl = UserForm1.ActiveControl & "test"
End Sub
A+
 

David590

XLDnaute Occasionnel
Re : écrire dans la textbox qui est sélectionnée

Grand merci à tous pour vos réponses

Le checkbox ne va pas car j'avais dans l'idée de faire un pavé numérique avec des boutons 1, 2, 3...

J'ai donc opté pour le UserForm1.ActiveControl = UserForm1.ActiveControl & "test"
c'est vrai c'est tout simple, n'empeche que je cherche depuis un moment :D

J'ai rajouté un exemple de se que je voulais faire avec le pavé numerique

Aussi, serait-il possible de faire en sorte que quand j’écris dans les textbox depuis mon clavier , une virgule se mette systématiquement à la place d'un point ?
 

Pièces jointes

  • Classeur1.xlsm
    49.4 KB · Affichages: 73
  • Classeur1.xlsm
    49.4 KB · Affichages: 71
  • Classeur1.xlsm
    49.4 KB · Affichages: 73

job75

XLDnaute Barbatruc
Re : écrire dans la textbox qui est sélectionnée

Re,

Bien simple aussi, dans le code de l'UserForm :

Code:
Private Sub TextBox1_Change()
TextBox1 = Replace(TextBox1, ".", ",")
End Sub

Private Sub TextBox2_Change()
TextBox2 = Replace(TextBox2, ".", ",")
End Sub
A+
 

David590

XLDnaute Occasionnel
Re : écrire dans la textbox qui est sélectionnée

Pourquoi tu ne mets pas un point directement (si tu ne veux pas la virgule)

Private Sub CommandButtonVirgule_Click()
UserForm1.ActiveControl = UserForm1.ActiveControl & "."
End Sub

C'est le point que je ne veux pas, effectivement je le choisis dans mon code si j'utilise les boutons, mais c'est plutot dans le cas où la saisis ce fait avec le clavier du pc, et la c'est bien un point qui est sur le pavé

Mais avec le code de job75, c'est nikel, toujours "simple" mais pas évident quand on ne le sait pas

Encore merci à tous les deux pour vos réponses rapides

A+
 

Hanns.G

XLDnaute Nouveau
Bonjour,
Je ne comprends pas pourquoi si je mets les commandbuttons dans l'userform, chez moi je précise, cela ne fonctionne pas, il m'apparait le message "Erreur d’exécution '13' : Incompatibilité de type" ?
Je voudrais comprendre pourquoi et comment résoudre ce problème afin de pouvoir m'en servir dans différents programme VBA que je suis en train mettre au point pour écran tactile.

En fait mon but est d'inscrire les commandbutton.caption (peu importe le caractère) uniquement dans les textboxs sélectionné

Merci
 

Pièces jointes

  • Classeurmultib.xlsm
    22 KB · Affichages: 3

Hanns.G

XLDnaute Nouveau
Bonjour ChT160,
Je viens de regarder ton fichier, mais je ne pense pas que cela me convient.
Il est très complet, mais au final, dans l'onglet caisse, si je met mon curseur dans article et que je click sur un chiffre du pavé, celui-ci s'inscrit dans Qté.
Or ce que je souhaite c'est que le chiffre s'inscrive dans article (par exemple).

Merci quand même
 

Hanns.G

XLDnaute Nouveau
Re
Ba ça je sais comment le gérer mais je n'arrive pas à faire en sorte de pouvoir choisir le Textbox dans lequel mes chiffres s'inscrivent...
Exemple :
4 Textboxs (nommé TB1, TB2, TB3, TB4)
10 chiffres (de 0 à 9, pavé num normal)
1 virgule (pour les décimales)
1 OK (pour la validation)

Si je click sur TB1, puis j'entre 36,2 via le pavé puis je sélectionne le TB2 et j'entre 10,5, je veux avoir la dissociation TB1=36,2 & TB2=10,5 et pas un cumul dans le TB1 (TB1=36,210,5).

Et je voudrais autant que possible éviter le Frame. (pas trop de connaissance la dessus)

Mais je te remercie quand même pour le coup de main
 

Discussions similaires

Statistiques des forums

Discussions
314 062
Messages
2 105 220
Membres
109 289
dernier inscrit
6LV1.69510