Je débute, voici mes deux premières questions sur ce forum
très symphatique, merci d'avance :-)
Sous VBA Exel Office XP, :
1) j'ai un Userform avec un Combobox et
un Textbox. A l'ouverture de Userform le Combobox à le focus,
si rien n'est sélectioné ou saisi dans le combo j'aimerai que le combo garde
le focus malgré l'envoi de Tab ou Entrée, comment dois_je faire?
2) Comment valider une saisie dans l'un ou l'autre des contrôles cités
plus haut avec seulement la touche Entrée afin par exemple d'affecter
une valeur à une cellule dans Exel?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
François Picalausa
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:%
Sous VBA Exel Office XP, : 1) j'ai un Userform avec un Combobox et un Textbox. A l'ouverture de Userform le Combobox à le focus, si rien n'est sélectioné ou saisi dans le combo j'aimerai que le combo garde le focus malgré l'envoi de Tab ou Entrée, comment dois_je faire? 2) Comment valider une saisie dans l'un ou l'autre des contrôles cités plus haut avec seulement la touche Entrée afin par exemple d'affecter une valeur à une cellule dans Exel?
Bonjour/soir,
1/Essaye ceci:
'Pour éviter que la sélection passe à un autre contrôle Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If ComboBox1.Text = "" Then MsgBox "Saisie invalide!" Cancel = True End If End Sub
'Pour éviter qu'on ne puisse quitter (sinon, la croix en haut à droite fonctionne toujours): Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If ComboBox1.Text = "" Then MsgBox "Saisie invalide!" ComboBox1.SetFocus Cancel = True End If End Sub
2/ Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = vbKeyReturn Then Excel.Range("A1").FormulaR1C1 = "'Hello!" KeyCode = 0 'évite que le keycode soit propagé au bouton "default" End If End Sub
(fonctionne aussi pour une TextBox) Toutefois, il n'est pas conseillé de remplacer l'appui sur la touche Enter parce que dans la conception design des boites de dialogue, il est prévu que cette touche serve à confirmer le formulaire (propriété default d'un boutton).
"cphil" <cazenave.(suffitspam)philippe@free.fr> a écrit dans le message
de news:%23QjEBXpwDHA.1512@TK2MSFTNGP10.phx.gbl
Sous VBA Exel Office XP, :
1) j'ai un Userform avec un Combobox et
un Textbox. A l'ouverture de Userform le Combobox à le focus,
si rien n'est sélectioné ou saisi dans le combo j'aimerai que le
combo garde le focus malgré l'envoi de Tab ou Entrée, comment dois_je
faire? 2) Comment valider une saisie dans l'un ou l'autre des
contrôles cités
plus haut avec seulement la touche Entrée afin par exemple d'affecter
une valeur à une cellule dans Exel?
Bonjour/soir,
1/Essaye ceci:
'Pour éviter que la sélection passe à un autre contrôle
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox1.Text = "" Then
MsgBox "Saisie invalide!"
Cancel = True
End If
End Sub
'Pour éviter qu'on ne puisse quitter (sinon, la croix en haut à droite
fonctionne toujours):
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If ComboBox1.Text = "" Then
MsgBox "Saisie invalide!"
ComboBox1.SetFocus
Cancel = True
End If
End Sub
2/
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal
Shift As Integer)
If KeyCode = vbKeyReturn Then
Excel.Range("A1").FormulaR1C1 = "'Hello!"
KeyCode = 0 'évite que le keycode soit propagé au bouton "default"
End If
End Sub
(fonctionne aussi pour une TextBox)
Toutefois, il n'est pas conseillé de remplacer l'appui sur la touche Enter
parce que dans la conception design des boites de dialogue, il est prévu que
cette touche serve à confirmer le formulaire (propriété default d'un
boutton).
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:%
Sous VBA Exel Office XP, : 1) j'ai un Userform avec un Combobox et un Textbox. A l'ouverture de Userform le Combobox à le focus, si rien n'est sélectioné ou saisi dans le combo j'aimerai que le combo garde le focus malgré l'envoi de Tab ou Entrée, comment dois_je faire? 2) Comment valider une saisie dans l'un ou l'autre des contrôles cités plus haut avec seulement la touche Entrée afin par exemple d'affecter une valeur à une cellule dans Exel?
Bonjour/soir,
1/Essaye ceci:
'Pour éviter que la sélection passe à un autre contrôle Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If ComboBox1.Text = "" Then MsgBox "Saisie invalide!" Cancel = True End If End Sub
'Pour éviter qu'on ne puisse quitter (sinon, la croix en haut à droite fonctionne toujours): Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If ComboBox1.Text = "" Then MsgBox "Saisie invalide!" ComboBox1.SetFocus Cancel = True End If End Sub
2/ Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If KeyCode = vbKeyReturn Then Excel.Range("A1").FormulaR1C1 = "'Hello!" KeyCode = 0 'évite que le keycode soit propagé au bouton "default" End If End Sub
(fonctionne aussi pour une TextBox) Toutefois, il n'est pas conseillé de remplacer l'appui sur la touche Enter parce que dans la conception design des boites de dialogue, il est prévu que cette touche serve à confirmer le formulaire (propriété default d'un boutton).
"François Picalausa" a écrit dans le message de news:
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:% > Sous VBA Exel Office XP, : > 1) j'ai un Userform avec un Combobox et > un Textbox. A l'ouverture de Userform le Combobox à le focus, > si rien n'est sélectioné ou saisi dans le combo j'aimerai que le > combo garde le focus malgré l'envoi de Tab ou Entrée, comment dois_je > faire? 2) Comment valider une saisie dans l'un ou l'autre des > contrôles cités > plus haut avec seulement la touche Entrée afin par exemple d'affecter > une valeur à une cellule dans Exel?
Bonjour/soir,
1/Essaye ceci:
'Pour éviter que la sélection passe à un autre contrôle Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If ComboBox1.Text = "" Then MsgBox "Saisie invalide!" Cancel = True End If End Sub
'Pour éviter qu'on ne puisse quitter (sinon, la croix en haut à droite fonctionne toujours): Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If ComboBox1.Text = "" Then MsgBox "Saisie invalide!" ComboBox1.SetFocus Cancel = True End If End Sub
2/ Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal
Shift As Integer) If KeyCode = vbKeyReturn Then Excel.Range("A1").FormulaR1C1 = "'Hello!" KeyCode = 0 'évite que le keycode soit propagé au bouton "default" End If End Sub
(fonctionne aussi pour une TextBox) Toutefois, il n'est pas conseillé de remplacer l'appui sur la touche Enter parce que dans la conception design des boites de dialogue, il est prévu
que
cette touche serve à confirmer le formulaire (propriété default d'un boutton).
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de
news:OlHRTuuwDHA.2316@TK2MSFTNGP10.phx.gbl...
"cphil" <cazenave.(suffitspam)philippe@free.fr> a écrit dans le message
de news:%23QjEBXpwDHA.1512@TK2MSFTNGP10.phx.gbl
> Sous VBA Exel Office XP, :
> 1) j'ai un Userform avec un Combobox et
> un Textbox. A l'ouverture de Userform le Combobox à le focus,
> si rien n'est sélectioné ou saisi dans le combo j'aimerai que le
> combo garde le focus malgré l'envoi de Tab ou Entrée, comment dois_je
> faire? 2) Comment valider une saisie dans l'un ou l'autre des
> contrôles cités
> plus haut avec seulement la touche Entrée afin par exemple d'affecter
> une valeur à une cellule dans Exel?
Bonjour/soir,
1/Essaye ceci:
'Pour éviter que la sélection passe à un autre contrôle
Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If ComboBox1.Text = "" Then
MsgBox "Saisie invalide!"
Cancel = True
End If
End Sub
'Pour éviter qu'on ne puisse quitter (sinon, la croix en haut à droite
fonctionne toujours):
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If ComboBox1.Text = "" Then
MsgBox "Saisie invalide!"
ComboBox1.SetFocus
Cancel = True
End If
End Sub
2/
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal
Shift As Integer)
If KeyCode = vbKeyReturn Then
Excel.Range("A1").FormulaR1C1 = "'Hello!"
KeyCode = 0 'évite que le keycode soit propagé au bouton "default"
End If
End Sub
(fonctionne aussi pour une TextBox)
Toutefois, il n'est pas conseillé de remplacer l'appui sur la touche Enter
parce que dans la conception design des boites de dialogue, il est prévu
que
cette touche serve à confirmer le formulaire (propriété default d'un
boutton).
"François Picalausa" a écrit dans le message de news:
"cphil" <cazenave.(suffitspam) a écrit dans le message de news:% > Sous VBA Exel Office XP, : > 1) j'ai un Userform avec un Combobox et > un Textbox. A l'ouverture de Userform le Combobox à le focus, > si rien n'est sélectioné ou saisi dans le combo j'aimerai que le > combo garde le focus malgré l'envoi de Tab ou Entrée, comment dois_je > faire? 2) Comment valider une saisie dans l'un ou l'autre des > contrôles cités > plus haut avec seulement la touche Entrée afin par exemple d'affecter > une valeur à une cellule dans Exel?
Bonjour/soir,
1/Essaye ceci:
'Pour éviter que la sélection passe à un autre contrôle Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If ComboBox1.Text = "" Then MsgBox "Saisie invalide!" Cancel = True End If End Sub
'Pour éviter qu'on ne puisse quitter (sinon, la croix en haut à droite fonctionne toujours): Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) If ComboBox1.Text = "" Then MsgBox "Saisie invalide!" ComboBox1.SetFocus Cancel = True End If End Sub
2/ Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger,
ByVal
Shift As Integer) If KeyCode = vbKeyReturn Then Excel.Range("A1").FormulaR1C1 = "'Hello!" KeyCode = 0 'évite que le keycode soit propagé au bouton "default" End If End Sub
(fonctionne aussi pour une TextBox) Toutefois, il n'est pas conseillé de remplacer l'appui sur la touche Enter parce que dans la conception design des boites de dialogue, il est prévu
que
cette touche serve à confirmer le formulaire (propriété default d'un boutton).