Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/12/2011, 20h18   #1
apt
Membre du Club
 
Inscription : mai 2002
Messages : 526
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 526
Points : 42
Points : 42
Par défaut Reproduire l'évenement MouseDown avec "Entrée" et "TAB"

Bonsoir à tous,

Dans un UserForm, j'ai par exemple deux TextBox.

Le deuxième Textbox2 (tbTr) contient "Tr" comme texte de début.

Quand je clique avec la sourie dans le TextBox, le texte changera en "T", Avec l'événement MouseDown :

Code :
1
2
3
Private Sub tbTr_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    tbTr.Text = "T"
End Sub
J'aimerais reproduire le même événement mais avec la touche "Entrée" ainsi que la touche "Tabulation".

Merci de votre aide.
apt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 20h37   #2
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Utilise l'évènement Enter de ton TextBox
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/12/2011, 21h32   #3
apt
Membre du Club
 
Inscription : mai 2002
Messages : 526
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 526
Points : 42
Points : 42
Bonsoir mercatog,

J'ai utilisé ce code qui en cas de détection de la frappe des touches "Return" ou "Tab", écrit dans le deuxième Textbox "T" tout en mettant le curseur sur la 2eme position.

Code :
1
2
3
4
5
6
7
8
9
Private Sub tbN_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Or vbKeyTab Then
        With tbTr
            .Text = "T"
            .SelStart = Len(.Text)
            .SetFocus
        End With
    End If
End Sub
Mais voila j'ai un problème :

Lorsque je tape le premier caractère dans tbN (premier Textbox), le curseur est envoyé directement dans le deuxième Textbox (tbTr) sans rien écrire dans tbN
apt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/12/2011, 21h44   #4
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Code :
1
2
3
4
5
6
7
8
9
Private Sub tbN_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then
        With tbTr
            .Text = "T"
            .SelStart = Len(.Text)
            .SetFocus
        End With
    End If
End Sub
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/12/2011, 22h54   #5
apt
Membre du Club
 
Inscription : mai 2002
Messages : 526
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 526
Points : 42
Points : 42
Le premier problème est résolu, mais un autre à pris place.

Quand j'enfonce la touche tab dans le premier Textbox, le curseur se positionne à la dernière position dans le deuxième Texbox au lieu de la position 2
apt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/12/2011, 21h14   #6
apt
Membre du Club
 
Inscription : mai 2002
Messages : 526
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 526
Points : 42
Points : 42
Citation:
Envoyé par Qwazerty Voir le message
Salut
Je n'avais pas saisi le fonctionnement désiré.
Code :
1
2
3
4
5
6
7
8
9
10
Private Sub tbN_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyReturn Or KeyCode = vbKeyTab Then
        KeyCode = 0
        With tbTr
            .Text = "T"
            .SelStart = Len(.Text)
            .SetFocus
        End With
    End If
End Sub
Merci Qwazerty, ça marche maintenant.
apt est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h51.


 
 
 
 
Partenaires

Hébergement Web