OVH Cloud OVH Cloud

Activer un textbox après la saisie d'un autre, en boucle

12 réponses
Avatar
Patrick BASTARD
Bonsoir à tous.

Mon Userform - suite !

Tous les contrôles de mon usf, (excepté TextBoxSaisieC5 et
TextBoxSaisiePlomb) sont à Tabstop false.
Je souhaite activer TextBoxSaisieC5, après la saisie d'un code à barres dans
TextBoxSaisiePlomb, pour poursuivre la saisie.
J'ai essayé avec SetFocus, mais sans succès.

Pouvez-vous me dire comment procéder ?
(code sous ma signature)

D'avance, merci.

Private Sub TextBoxSaisiePlomb_Change()
If Len(ComboBoxLiaison) = 6 Then
If TextBoxCaisse <> "" Then
If Len(TextBoxSaisieC5) = 28 Then
If Len(TextBoxSaisiePlomb) = 11 Then

InsereUneLigne
'recopie les valeurs saisies sur la ligne insérée
ActiveCell = Me.TextBoxDate
ActiveCell.Offset(0, 1) = Me.ComboBoxLiaison
ActiveCell.Offset(0, 2) = Me.TextBoxCaisse
ActiveCell.Offset(0, 3) = Me.TextBoxSaisieC5
ActiveCell.Offset(0, 4) = Me.TextBoxSaisiePlomb
Me.TextBoxSaisieC5 = ""
Me.TextBoxSaisiePlomb = ""
TextBoxSaisieC5.SetFocus
End If
End If
End If
End If

End Sub

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

2 réponses

1 2
Avatar
Daniel.C
Juste avant de passer le focus tu écris :
Me.TextBoxSaisiePlomb = ""
ce qui redéclenche l'évènement "change" avec cette fois 0 caractère de
longueur et tu ne passes pas sur l'instruction "setfocus"
Daniel
"Patrick BASTARD" a écrit dans le
message de news:
Bonjour, *Daniel.C*

Voila une version allégée du projet.
http://cjoint.com/?cft6fIj6Q1
Avec toutes les imperfections que mon niveau en VBA n'a pas permis de
déceler...
N'hésite pas à me communiquer toute critique, toute correction qui te
semblerait pertinente.
Idem, bien sûr pour tous les éminents (je n'ai pas dit Eminences) membres
de cette communauté


--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.


Bonsoir.
Est-ce que tu peux mettre un classeur exemple sur www.cjoint.com
(avec des données bidon) ?
Daniel
"Patrick BASTARD" a écrit dans le
message de news: O8kmJ$
Bonjour, *Youky*

Merci pour ton intérêt.
La propriété Enabled de TextBoxSaisieC5 zst bien = True.
???...

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonjour,
En TextBoxSaisieC5
Tu n'aurais pas mis la propriétée Enabled úlse au lieu de True
A vérifier
Youky....avec un y

"Patrick BASTARD" a écrit dans
le message de news: %23LqQt$
Bonjour, *Daniel.C*

Merci pour ton aide, mais cela ne veut décidément pas fonctionner
chez moi ...
...Et je ne sais pas pourquoi.
La question reste ouverte.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Bonsoir.
Ceci fonctionne chez moi :

Private Sub TextBox1_Change()
If Len(TextBox1) = 5 Then
Me.TextBox3.SetFocus
End If
End Sub

Cordialement.
Daniel
"Patrick BASTARD" a écrit
dans le message de news:
Bonsoir à tous.

Mon Userform - suite !

Tous les contrôles de mon usf, (excepté TextBoxSaisieC5 et
TextBoxSaisiePlomb) sont à Tabstop false.
Je souhaite activer TextBoxSaisieC5, après la saisie d'un code à
barres dans TextBoxSaisiePlomb, pour poursuivre la saisie.
J'ai essayé avec SetFocus, mais sans succès.

Pouvez-vous me dire comment procéder ?
(code sous ma signature)

D'avance, merci.

Private Sub TextBoxSaisiePlomb_Change()
If Len(ComboBoxLiaison) = 6 Then
If TextBoxCaisse <> "" Then
If Len(TextBoxSaisieC5) = 28 Then
If Len(TextBoxSaisiePlomb) = 11 Then

InsereUneLigne
'recopie les valeurs saisies sur la ligne insérée
ActiveCell = Me.TextBoxDate
ActiveCell.Offset(0, 1) = Me.ComboBoxLiaison
ActiveCell.Offset(0, 2) = Me.TextBoxCaisse
ActiveCell.Offset(0, 3) = Me.TextBoxSaisieC5
ActiveCell.Offset(0, 4) >>>>>>> Me.TextBoxSaisiePlomb Me.TextBoxSaisieC5 = ""
Me.TextBoxSaisiePlomb = ""
TextBoxSaisieC5.SetFocus
End If
End If
End If
End If

End Sub

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.
















Avatar
Patrick BASTARD
Bonsoir, *Daniel.C*

J'ai l'impression de tourner en rond, alors que je voudrais que ce soit le
focus sur mes 2 TextBox qui le fassent.
Une idée que je n'ai pas encore testée : modifier par code le tabindex de
mes textbox : mais je garde ça pour demain soir.
Mes neurones ont donné ce soir tout ce qu'ils avaient...

Bonne nuit à toi aussi,

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.


Juste avant de passer le focus tu écris :
Me.TextBoxSaisiePlomb = ""
ce qui redéclenche l'évènement "change" avec cette fois 0 caractère de
longueur et tu ne passes pas sur l'instruction "setfocus"
Daniel
"Patrick BASTARD" a écrit dans le
message de news:
Bonjour, *Daniel.C*

Voila une version allégée du projet.
http://cjoint.com/?cft6fIj6Q1
Avec toutes les imperfections que mon niveau en VBA n'a pas permis de
déceler...
N'hésite pas à me communiquer toute critique, toute correction qui te
semblerait pertinente.
Idem, bien sûr pour tous les éminents (je n'ai pas dit Eminences)
membres de cette communauté


--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.


Bonsoir.
Est-ce que tu peux mettre un classeur exemple sur www.cjoint.com
(avec des données bidon) ?
Daniel
"Patrick BASTARD" a écrit dans
le message de news: O8kmJ$
Bonjour, *Youky*

Merci pour ton intérêt.
La propriété Enabled de TextBoxSaisieC5 zst bien = True.
???...

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.

Bonjour,
En TextBoxSaisieC5
Tu n'aurais pas mis la propriétée Enabled úlse au lieu de True
A vérifier
Youky....avec un y

"Patrick BASTARD" a écrit
dans le message de news: %23LqQt$
Bonjour, *Daniel.C*

Merci pour ton aide, mais cela ne veut décidément pas fonctionner
chez moi ...
...Et je ne sais pas pourquoi.
La question reste ouverte.
--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.
Bonsoir.
Ceci fonctionne chez moi :

Private Sub TextBox1_Change()
If Len(TextBox1) = 5 Then
Me.TextBox3.SetFocus
End If
End Sub

Cordialement.
Daniel
"Patrick BASTARD" a écrit
dans le message de news:
Bonsoir à tous.

Mon Userform - suite !

Tous les contrôles de mon usf, (excepté TextBoxSaisieC5 et
TextBoxSaisiePlomb) sont à Tabstop false.
Je souhaite activer TextBoxSaisieC5, après la saisie d'un code
à barres dans TextBoxSaisiePlomb, pour poursuivre la saisie.
J'ai essayé avec SetFocus, mais sans succès.

Pouvez-vous me dire comment procéder ?
(code sous ma signature)

D'avance, merci.

Private Sub TextBoxSaisiePlomb_Change()
If Len(ComboBoxLiaison) = 6 Then
If TextBoxCaisse <> "" Then
If Len(TextBoxSaisieC5) = 28 Then
If Len(TextBoxSaisiePlomb) = 11 Then

InsereUneLigne
'recopie les valeurs saisies sur la ligne insérée
ActiveCell = Me.TextBoxDate
ActiveCell.Offset(0, 1) = Me.ComboBoxLiaison
ActiveCell.Offset(0, 2) = Me.TextBoxCaisse
ActiveCell.Offset(0, 3) = Me.TextBoxSaisieC5
ActiveCell.Offset(0, 4) >>>>>>>> Me.TextBoxSaisiePlomb Me.TextBoxSaisieC5 >>>>>>>> "" Me.TextBoxSaisiePlomb = ""
TextBoxSaisieC5.SetFocus
End If
End If
End If
End If

End Sub

--
Bien amicordialement,
P. Bastard

Avant d'imprimer ce mail, ayez une pensée pour les arbres.
















1 2