OVH Cloud OVH Cloud

Remplir une textbox d'un click !

13 réponses
Avatar
Hubert
Bonjour
J'ai un userform avec plein de textbox, elles sont remplies ensuite par des
chiffres à l'aide du clavier. Est il possible - par le click d'un bouton - de
remplir la textbox selectionnée par le setfocus. Peut différencier la textbox
qui possede le setfocus parmis un tas d'autre ? Merci d'avance

Hubert

3 réponses

1 2
Avatar
Hubert
Bonjour à tous et merci de votre aide !

Je suis effectivement en VBA.
Ca ne fonctionne toujours pas et j'ai toujours le même message d'erreur.
Dommage car ceci me parait bien pratique de pouvoir selectionner une textbox
et créer une action dans celle-ci d'un simple click. J'ai pour l'instant créé
la démarche inverse en selectionnant d'abord la valeur à ajouter, grace à un
bouton, et de l'ajouter dans une textbox de mon choix par le double click.
C'est moins pratique et moins logique surtout. Encore merci !

Hubert
Avatar
Jacques93
Bonjour Hubert,
Hubert a écrit :
Bonjour à tous et merci de votre aide !

Je suis effectivement en VBA.
Ca ne fonctionne toujours pas et j'ai toujours le même message d'erreur.
Dommage car ceci me parait bien pratique de pouvoir selectionner une textbox
et créer une action dans celle-ci d'un simple click. J'ai pour l'instant créé
la démarche inverse en selectionnant d'abord la valeur à ajouter, grace à un
bouton, et de l'ajouter dans une textbox de mon choix par le double click.
C'est moins pratique et moins logique surtout. Encore merci !




Bien qu'étant en VBA, tu peux utiliser la solution proposée par Clive
Lumb : le Drag and Drop. LA syntaxe est différente de VB6, mais ça tourne.

Private Sub Label1_MouseDown(ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal X As Single, _
ByVal Y As Single)
Dim MyDataObject As DataObject
Dim Effect As Integer

If Button = 1 Then
Set MyDataObject = New DataObject
MyDataObject.SetText Label1.Caption
Effect = MyDataObject.StartDrag
End If
End Sub

Private Sub TextBox1_BeforeDropOrPaste( _
ByVal Cancel As MSForms.ReturnBoolean, _
ByVal Action As MSForms.fmAction, _
ByVal Data As MSForms.DataObject, _
ByVal X As Single, _
ByVal Y As Single, _
ByVal Effect As MSForms.ReturnEffect, _
ByVal Shift As Integer)
Cancel = True
Effect = 1
Me.TextBox1.Text = Data.GetText
End Sub


--
Cordialement,

Jacques.
Avatar
Guy DETIENNE
Salut ;O)

Lorsqu'une personne dans ce news parle de UserForm, CommandButton et VBA,
mieux vaut directement se poser la question : "est-il bien en VB6 ?".
Car en VB, jamais on ne parle de UserForm... C'est exclusivement dans les
environnements Office et autres applications de la famille ou compatibles
VBA.
Et Dieu sait que les différences sont notables entre VBA et son grand frère
VB !

Parfois cela évite d'embarquer la personne à travers une solution purement
VB qu'il ne pourra pas exploiter en VBA, ce qui est la cas ici...
Mais bon, parfois il n'y a aucun indice de ce genre et l'on se plante
complètement ;O)
Mais on aura tout de même pris la peine de répondre, n'est-ce pas là le
principal ?

Guy



"Jacques93" a écrit dans le message de news:

Bonjour,
Hubert a écrit :
Bonjour et merci !

J'ai essayé mais j'ai un bug "incompatibilité de type" avec ceci surligné
de jaune :
Text1(LasttextBox).Text = "1"
Désolé mais je ne suis pas expert !
J'ai indexé les textbox et mis ceci en tête de module :> Private Sub
Text1_LostFocus(Index As Integer)
LasttextBox = Index
End Sub

Ensuite voici le code du bouton :
Private Sub CommandButton4_Click()
Dim LasttextBox As Integer
Text1(LasttextBox).Text = "1"
End Sub

Quelque chose m'echappe c'est clair !!!

Merci encore

Hubert





Un petit doute : comme tu fais référence dans ta question à UserForm, puis
à CommandButton, ne serait tu pas sous VBA et non VB6 ?
Auquel cas le problème se poserait différemment dans mesure ou avec VBA,
on ne peut pas indicer les contrôles.

PS : Le message "incompatibilité de type" correspond bien a ce que l'on
obtient sous Excel en indiçant un contrôle.
--
Cordialement,

Jacques.


1 2