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
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
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 !
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
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.
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
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.
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.
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" <jacques@Nospam> a écrit dans le message de news:
eUUhkHACHHA.4740@TK2MSFTNGP03.phx.gbl...
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,
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,