Microsoft 365 TextBox ajout texte dans cellule : clic sur entrée pour sortir

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous 🙂

Au clic sur la cellule D4 : TextBox1 s'ouvre et je peux saisir un commentaire.
Ce commentaire, au clic sur entrée s'ajoute dans la cellule devant le texte déjà existant.

Ca fonctionne sans souci (grâce à Gérard 🙂)

Ce qui me turlupine :
1 - Si j'ai saisi un texte dans TextBox1, 1 seul clic sur entrée valide et ferme l'UserForm,
2 - Si je n'ai pas saisi de texte, il me faut 2 clic sur entrée pour en sortir.

Sauriez-vous comment sortir avec 1 seul clic sur entrée si je n'ai pas saisi de texte dans TextBox1 ?
C'est pas bien gênant mais quand même lol 🙂

En cas, je joins le fichier test seul le test TextBox1 est concerné.
Un grand merci à tous,
🙂
 

Pièces jointes

Re-Compris, il suffit d'ajouter un SendKeys (de Gérard 🙂) dans le code d'initialisation :
VB:
Private Sub UserForm_Initialize()
CreateObject("wscript.shell").SendKeys "{ENTER}"
'hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
'"X", "D") & "Frame", Me.Caption)
'SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub
Ci joint fichier qui fonctionne comme je le souhaite...
🙂
 

Pièces jointes

Bonjour Eric C 🙂; Bonjour Gérard, Bonjour le Forum 🙂

Je reviens sur ce fil car j'ai un besoin que je n'avais pas prévu 😡
Le code fonctionne nickel bien 🙂
Voici le besoin qui m'est apparu :
Si la colonne E de la ligne active contient "Date", je voudrais que TextBox1 ne s'affiche pas et que "Cells(ActiveCell.Row, 5) soit directement activée"

J'ai fait pas mal de tests "dans toutes les positions" lol. je n'y suis pas arrivé.
Voilà le code que j'ai gardé :
VB:
Private Sub UserForm_Initialize()
If Cells(ActiveCell.Row, 5) = 0 Then
Exit Sub
Else
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
X, "D") & "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
TextBox1.SetFocus
End If
End Sub
Auriez-vous le bon code ?
En cas, je joins le fichier test et je continue mes élucubrations.....
Un grand merci à vous
🙂
 

Pièces jointes

LOL : je m'améliore. je pense avoir trouvé :
VB:
Private Sub UserForm_Activate()
If Cells(ActiveCell.Row, 5) <> 0 Then
Unload Job75
Exit Sub
End If
End Sub
Voici en pièce jointe le fichier qui semble fonctionner.

Petite question : je vois passer TextBox1 est-ilk possible de "ne pas le voir passer" ? lol 🙂
Merci à tous
🙂
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour