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 Sub

Je 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.Value

par

LT = Split(TextBox1.Value, ".")(UBound(Split(TextBox1.Value, ".")))   'derniers caractères Textbox1 situés après le point

Cordialement,

Merci infiniment xorsankukai

bonne journée et bonne soirée

Rechercher des sujets similaires à "lier deux textbox"