Dans un UserForm, lier Combobox à TextBox

anna111

XLDnaute Junior
Bonjour tout le monde,

C'est simple je crois, mais je ne sais pas encore le faire :eek::eek:
j'ai un USERFORM et une feuille "Clients" , les noms dans A et leurs adresses à côté dans B
dans l'UF, j'aimerais dans la combobox si je choisis un nom , son adresse s'affiche automatiquent dans "adresse" ( (TextBox6))

Code:
Private Sub ComboBox1_Change()
ComboBox1 = UCase(ComboBox1)
TestCases
End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
ligne = ComboBox1.ListIndex + 2
rep = MsgBox("Voulez-vous supprimer '" & ComboBox1 & "' de la liste ?", vbYesNo + vbQuestion, "NOUVEAU CLIENT")
Select Case rep
  Case Is = vbNo
    Cancel = True
    Exit Sub
  Case Is = vbYes
    With Sheets("Clients")
      .Range("A" & ligne).ClearContents
      .Columns("A:A").Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlYes
      ComboBox1.RowSource = "Clients!A2:A" & .Range("A65536").End(xlUp).Row
    End With
End Select
End Sub

Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Not ComboBox1 = "" And ComboBox1.ListIndex = -1 Then
  rep = MsgBox("Voulez-vous ajouter ce nom à la liste ?", vbYesNo + vbQuestion, "NOUVEAU CLIENT")
  Select Case rep
    Case Is = vbNo
      ComboBox1 = ""
      Cancel = True
    Case Is = vbYes
      With Sheets("Clients")
        .Range("A" & .Range("A65536").End(xlUp).Row + 1) = ComboBox1
        .Columns("A:A").Sort Key1:=.Range("A2"), Order1:=xlAscending, Header:=xlYes
        ComboBox1.RowSource = "Clients!A2:A" & .Range("A65536").End(xlUp).Row
      End With
    End Select
End If
End Sub

Private Sub CommandButton1_Click() ' Bouton Valider
On Error Resume Next
With ActiveSheet
  .Range("G12") = CDate(TextBox1) ' Date
  If Left(.Name, 2) = "Co" Then
    .Range("G16") = CInt(TextBox2) ' N° Facture
    Else
    .Range("G15") = CInt(TextBox2) ' N° Facture
  End If
  .Range("G17") = CInt(TextBox3) ' N° BL
  .Range("G18") = TextBox4 ' N° BC
  .Range("D15") = ComboBox1 ' Nom
  .Range("D16") = TextBox6 ' Adresse
End With
Me.Hide
End Sub

Private Sub CommandButton2_Click() ' Bouton Annuler
Me.Hide
End Sub

Private Sub Frame2_Click()

End Sub

Private Sub TextBox1_Change()
TestCases
End Sub

Private Sub TextBox2_Change()
TestCases
End Sub

Private Sub TextBox3_Change()
TestCases
End Sub

Private Sub TextBox7_Change()
TextBox7 = UCase(TextBox7)
End Sub

j'aurais voulu presenter un fichier exemple mais il est trop volumineux, je pense que par le code c'est clair :)
merci.
 

Pierrot93

XLDnaute Barbatruc
Re : Dans un UserForm, lier Combobox à TextBox

Bonjour Anna, Michel:)

le mieux serait un tout petit fichier, placé directement sur le forum, et représentant bien le problème posé, car en l'état difficile de t'apporter une aide...

bonne journée
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Dans un UserForm, lier Combobox à TextBox

Re,

essaye en rajoutant le code ci-dessous dans le module de l'usf :

Code:
Private Sub ComboBox1_Click()
If ComboBox1.ListIndex <> -1 Then
    TextBox6 = Sheets("Clients").Range("B" & ComboBox1.ListIndex + 2).Value
End If
End Sub
 

MJ13

XLDnaute Barbatruc
Re : Dans un UserForm, lier Combobox à TextBox

Bonjour Anna, Pierrot

C'est vrai qu'avec Pierrot, que je salue, on a rapidement la réponse :p.

Merci Pierrot, en plus, cela pourrait me servir.

Anna, tu vois ce qui te reste à faire la prochaine fois (CQFD) :).
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 487
Membres
103 558
dernier inscrit
Lamine ABIDI