Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

récupérer le contenue d'une Textbox

  • Initiateur de la discussion Initiateur de la discussion olhey
  • Date de début Date de début

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 !

olhey

XLDnaute Occasionnel
bonjour,

Code:
Private Sub TextBox1_Change()
Dim rngTrouve As Range
Dim strChaine As String

strChaine = TextBox1.Value
Set rngTrouve = ActiveSheet.Columns(1).Cells.Find(what:=strChaine)

If rngTrouve Is Nothing Then
MsgBox "Pas trouvé"
Else
Cells.Find(what:=strChaine).Activate
End If

Set rngTrouve = Nothing
End Sub

voilà mon code de ma petite fonction de recherche, le problème est que lorsque que j'entre 1 lettre il lance déjà la recherche😕; comment faire pour qu'il attende parexemple que je tape enter, ou que je pèse sur un bouton?

MErci de votre aide!!🙂
 
Re : récupérer le contenue d'une Textbox

Bonjour Olhey

peut être lier ce code à un bouton de validation, dans l'événement "click" de ce dernier... Sinon l'événement "Exit" de ton "textbox"... A voir selon ton projet.

bonne journée
@+
 
Re : récupérer le contenue d'une Textbox

en fait c'est une gestion "d'objet":
première colonne: code; deuxième colonne nom et donc je cherche l'objet avec tel code... je tape mon code... je tape neter(ou bouton) et PIM! j'arrive sur mon objet

EDIT: c'est vrai qu'avec le bouton ça fonctionne impec.Mais est ce qu'on arrive à "activer" le bouton par une touche?
 
Dernière édition:
Re : récupérer le contenue d'une Textbox

Bonjour,
Une solution pour gérer la touche Enter
l'événement keyup du textbox

Code:
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then '13 est la touche Enter
'ton code
End If
End Sub
 
Re : récupérer le contenue d'une Textbox

Un Tout grand merci quel efficacité, 10 minutes sur le forum et mon problème est réglé! 🙂 youky ta technique marche impec, pierrot l'histoir du bouton ok, mais:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ne fonctionne pas.🙁
 
Re : récupérer le contenue d'une Textbox

voilà le code final:


Code:
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = &HD Then '&HD est la touche Enter
Dim rngTrouve As Range
Dim strChaine As String

strChaine = TextBox1.Value
Set rngTrouve = ActiveSheet.Columns("A:B").Cells.Find(what:=strChaine)

If rngTrouve Is Nothing Then
MsgBox "L'objet saisi n'a pas été trouvé, vérifiez l'orthographe."
Else
Cells.Find(what:=strChaine).Activate
End If

Set rngTrouve = Nothing
End If
End Sub

maintenat encore un petit complément d'information, comment faire si jai deux textbox et que je veux pas avoir 2 fois le code?
 
Re : récupérer le contenue d'une Textbox

Re,

essaye ainsi :

Code:
Option Explicit
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = &HD Then '&HD est la touche Enter
    mamacro TextBox1.Value
End If
End Sub
Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = &HD Then '&HD est la touche Enter
    mamacro TextBox2.Value
End If
End Sub
Sub mamacro(MaChaine As String)
Dim rngTrouve As Range
Set rngTrouve = ActiveSheet.Columns("A:B").Cells.Find(what:=MaChaine)
If rngTrouve Is Nothing Then
    MsgBox "L'objet saisi n'a pas été trouvé, vérifiez l'orthographe."
Else
    rngTrouve.Activate
End If
Set rngTrouve = Nothing
End Sub
 
Re : récupérer le contenue d'une Textbox

Re,

Code:
Option Explicit
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = &HD Then '&HD est la touche Enter
    mamacro TextBox1.Value, "A:A"
End If
End Sub
Private Sub TextBox2_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = &HD Then '&HD est la touche Enter
    mamacro TextBox2.Value, "B:B"
End If
End Sub
Sub mamacro(MaChaine As String, col As String)
Dim rngTrouve As Range
Set rngTrouve = ActiveSheet.Columns(col).Cells.Find(what:=MaChaine)
If rngTrouve Is Nothing Then
    MsgBox "L'objet saisi n'a pas été trouvé, vérifiez l'orthographe."
Else
    rngTrouve.Activate
End If
Set rngTrouve = Nothing
End Sub
 
Re : récupérer le contenue d'une Textbox

MERci,

en fait l'ordre de:
Code:
mamacro [COLOR="Red"]TextBox1.Value, "A:A"[/COLOR]
correspond à l'ordre de:
Code:
Sub mamacro([COLOR="red"]MaChaine As String, col As String[/COLOR])
??

Je suis en pleine phase d'apprentissage un rien m'exite 😀
 
Re : récupérer le contenue d'une Textbox

Re

exact, mais pour ton cas, il serait préférable d'utiliser l'événement "KeyDown" plutôt que "KeyUp" car je suppose que l'activation de la touche "ENTER" te fait passer au contrôle suivant....
 
Re : récupérer le contenue d'une Textbox

est ce que c'est possible de modifier la fonction de recherche pour que lorsque je tape par exemple: "po456" la fonction est capable de me rediriger vers "po566bh", ou que lorsque je tape "nyon" il soit capable de me rediriger vers le "pont de nyon"?
 
- 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

Réponses
2
Affichages
589
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…