récupérer le contenue d'une Textbox

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:confused:; comment faire pour qu'il attende parexemple que je tape enter, ou que je pèse sur un bouton?

MErci de votre aide!!:)
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

olhey

XLDnaute Occasionnel
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:

youky(BJ)

XLDnaute Barbatruc
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
 

olhey

XLDnaute Occasionnel
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?
 

Pierrot93

XLDnaute Barbatruc
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
 

Pierrot93

XLDnaute Barbatruc
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
 

olhey

XLDnaute Occasionnel
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 :D
 

Pierrot93

XLDnaute Barbatruc
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....
 

olhey

XLDnaute Occasionnel
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"?
 

Discussions similaires

Réponses
2
Affichages
140
Réponses
1
Affichages
234

Statistiques des forums

Discussions
312 111
Messages
2 085 400
Membres
102 883
dernier inscrit
jameseyz