Lier deux textbox
Bonjour le forum,
Je souhaite remplir le textbox2 automatiquement en fonction du contenu du textbox1
Je m’explique, sur mon fichier il y a une liste nominative des profs avec tous leurs renseignements professionnels. Sur mon userform il y a deux textbox ( textbox1 pour le nom du prof et textbox2 pour le lieu du travail « collège »)
Ce que je souhaite faire c’est que quand je rentre le nom du prof dans le textbox1, le textbox2 affiche automatiquement le nom du collège qui se trouve en colonne «L » de la feuille.
J’ai fait des efforts en utilisant une macro mais ça ne marche pas très bien.
Voici la macro :
Private Sub TextBox1_change()
Dim x As Integer
Dim LT As String
Dim Dlig As Long
Dim LigEnr As Long
TextBox1.Value = UCase(TextBox1.Value)
With Worksheets("Base")
'Recupeère la derniere ligne non vide dans la colonne A
Dlig = .Range("A" & Rows.Count).End(xlUp).Row
LT = TextBox1.Value
For x = Dlig To 2 Step -1
If .Cells(x, "A").Value = LT Then
LigEnr = x
Exit For
End If
Next x
TextBox2 = .Cells(LigEnr, "L").Value 'le nom du collège se trouve en colonne "L"
End With
End SubJe vous joins un fichier simplifier
Merci de votre aide
Bonjour Chindou,
Pourquoi ce compliquer la vie avec des macros alors qu'il existe des formules telles que la "RECHERCHEV" permettant de répondre à ton besoin .
Bien cordialement,
merci bien MPETIT
Le fichier que j'ai posté est simplifié au maximum pour éclaircir juste mon but
ces deux textbox sont dans un formulaire de saisi pour la rédaction des rapports sur une autre feuille
donc il me faut une macro.
Bonjour chindou, MPETIT , le forum,
En ce qui concerne la macro....
Private Sub TextBox1_change()
Dim x As Long
Dim LT As String
Dim Dlig As Long
TextBox1.Value = UCase(TextBox1.Value)
With Worksheets("Base")
'Recupeère la derniere ligne non vide dans la colonne A
Dlig = .Range("A" & Rows.Count).End(xlUp).Row
LT = TextBox1.Value
For x = Dlig To 2 Step -1
If .Cells(x, "A").Value = LT Then
TextBox2 = .Cells(x, "L").Value 'le nom du collège se trouve en colonne "L"
Exit For
End If
Next x
End With
End Sub
Une variante avec RechercheV....
Private Sub TextBox1_change()
Dim x As Long
Dim LT As String
Dim Dlig As Long
Dim Resultat
TextBox1.Value = UCase(TextBox1.Value)
With Worksheets("Base")
'Recupeère la derniere ligne non vide dans la colonne A
Dlig = .Range("A" & Rows.Count).End(xlUp).Row
LT = TextBox1.Value
Resultat = Application.VLookup(LT, Range("A2:O" & Dlig), 12, False)
If IsError(Resultat) Then Resultat = ""
TextBox2 = Resultat
End With
End Sub
Cordialement,
Merci bien xorsankukai
ça marche bien la macro
autre question si c'est possible.
Si j'utilise les titres de civilités "MME. ; MLLE. ou M.
y a t il une macros qui prend la valeur après le point
Merci
Cordialement
Re,
Si j'utilise les titres de civilités "MME. ; MLLE. ou M.
y a t il une macros qui prend la valeur après le point
Essaies de remplacer
LT = TextBox1.Valuepar
LT = Split(TextBox1.Value, ".")(UBound(Split(TextBox1.Value, "."))) 'derniers caractères Textbox1 situés après le pointCordialement,