Microsoft 365 TextBox1 validation uniquement avec la touche "Entrée"

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite un beau dimanche :)
Je reviens vers mes ténors préférés car je n'arrive pas à coder pour "valider ma TextBox1 uniquement avec la touche "Entrée"".
Bon sang ! ça doit pas être très compliqué mais je dois avoir la tête en friche lol
Mes recherches et tentatives n'ont pas abouti.
Fontionnement
1 - Clic sur I7 et l'uf s'ouvre me permettant de saisir un commentaire,
2 - à la validation, mon nv commentaire va être copié en J7 avec date et avant les commentaires déjà dans la cellule.

Je joins un fichier test
Un grand merci à vous :)
Amicalement,
lionel,
 

Pièces jointes

  • ajoutInfo_test_Forum.xlsm
    22.5 KB · Affichages: 13
Solution
Bonjour le fil

Il y a recherche¸ et il y a recherches on the wild world web à dit:
Mes recherches et tentatives n'ont pas abouti.
;)
J'ai cherché pendant 7 minutes et 27 secondes
(C'est ce qu'indique mon micro-ondes)
Un userform et deux textBox
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
[A1] = TextBox1
Me.Hide
End If
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = True
End Sub
Private Sub UserForm_Initialize()
TextBox2.Visible = False
End Sub

cathodique

XLDnaute Barbatruc
Bonjour,

Ai-je bien compris ta demande? Une proposition à tester.
Agrandi ton userform ---> ajouter une textbox ---> Redimensionne ton userform comme à l'initial (La textbox ajoutée ne devrait pas être visible) ---> ajoute à la fin de ta procédure un setfocus (textbox2.setfocus).

Tu peux utiliser la touche Entrée ou Tab.

Bon dimanche.

edit: je crois que cette ligne de code Application.EnableEvents = False ne fonctionne pas dans userform.
 
C

Compte Supprimé 979

Guest
Bonjour Lionel,

Il faut utiliser l'évènement KeyDown et définir la propriété Multiline à False
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  MsgBox KeyCode
End Sub

@+
 

cathodique

XLDnaute Barbatruc
Apparemment, ça te prends des plombes pour faire un essai.
usine à gaz.gif
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Il y a recherche¸ et il y a recherches on the wild world web à dit:
Mes recherches et tentatives n'ont pas abouti.
;)
J'ai cherché pendant 7 minutes et 27 secondes
(C'est ce qu'indique mon micro-ondes)
Un userform et deux textBox
VB:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then
[A1] = TextBox1
Me.Hide
End If
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = True
End Sub
Private Sub UserForm_Initialize()
TextBox2.Visible = False
End Sub
 

job75

XLDnaute Barbatruc
Bonjour Lionel, le fil,

Perso j'utiliserais le double-clic pour valider la saisie, voyez le fichier joint avec le code de l'UserForm :
VB:
Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Cancel = True
If TextBox1 <> "" Then ActiveCell(1, 2) = Format(Date, "dd.mm.yy : ") & Replace(TextBox1, vbLf, " - ") & vbLf & ActiveCell(1, 2)
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
ActiveCell(1, 2).Select 'pour quitter la colonne I
End Sub
A+
 

Pièces jointes

  • ajoutInfo_test_Forum(1).xlsm
    21.7 KB · Affichages: 6

Discussions similaires

Statistiques des forums

Discussions
311 711
Messages
2 081 789
Membres
101 817
dernier inscrit
carvajal