Afficher les données dans les TextBox en fonction d'une ComboBox

choupie972

XLDnaute Nouveau
Bonjour,
Je suis débutante en VBA et tente vainement de créer un UserForm en m'inspirant des différents exemples disponibles sur le site.
Le bouton "Nouveau client" fonctionne parfaitement mais mon souci est que je ne parviens pas à afficher la liste déroulante avec les noms des clients dans la ComboBox et les données correspondantes dans les TextBox.
Je vous joins mon petit fichier test.
Merci de votre aide,
 

Pièces jointes

  • TEST.xlsm
    19.5 KB · Affichages: 65
  • TEST.xlsm
    19.5 KB · Affichages: 57
  • TEST.xlsm
    19.5 KB · Affichages: 70

fhoest

XLDnaute Accro
Re : Afficher les données dans les TextBox en fonction d'une ComboBox

Bonjour
ton code est pratiquement bon,tu as simplement fait une erreur dans l'évènement
Code:
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
Set Ws = Sheets("CLIENTS")
With Me.ComboBox1
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
For I = 1 To 2
Me.Controls("TextBox" & I).Visible = True 'affiche les données dans les textbox
Next I
End Sub
Bienvenue et à bientôt
 

Staple1600

XLDnaute Barbatruc
Re : Afficher les données dans les TextBox en fonction d'une ComboBox

Bonsoir à tous

choupie972
[Bienvenue sur le forum]
Test OK sur mon PC
Code:
Private Sub UserForm_Initialize()
With Sheets("CLIENTS")
ComboBox1.List = Range(.Cells(2, 1), .Cells(Rows.Count, 1).End(xlUp)).Value
End With
TextBox1.Visible = True: TextBox2.Visible = True
End Sub

Code:
Private Sub ComboBox1_Change()
'Correspond au programme de la liste déroulante
Dim Ligne As Long
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
TextBox1 = Sheets("CLIENTS").Cells(Ligne, "B")
TextBox2 = Sheets("CLIENTS").Cells(Ligne, "C")
End Sub

NB: Regarddes bien le nom de la procédure Initialize de l'userform
(puis compares avec celle qui existait dans ta PJ)

EDITION: Bonsoir fhoest, désolé pour la collision ;)
 

choupie972

XLDnaute Nouveau
Re : Afficher les données dans les TextBox en fonction d'une ComboBox

Bonsoir à tous,
Encore un petit souci avec mon UserForm,
Je l'ai complété et il me met une erreur "Objet spécifié introuvable" sur la ligne
If Me.Controls("TextBox"&I).Visible=True Then
dans le paramétrage du bouton Valider
Je joins mon fichier complété.
Merci de votre aide précieuse pour les débutants,

Choupie
 

Pièces jointes

  • BASE CLIENTS.xlsm
    244.3 KB · Affichages: 68
  • BASE CLIENTS.xlsm
    244.3 KB · Affichages: 79
  • BASE CLIENTS.xlsm
    244.3 KB · Affichages: 85

Staple1600

XLDnaute Barbatruc
Re : Afficher les données dans les TextBox en fonction d'une ComboBox

Re

choupie972
Vous avez renommé vos TextBox et par conséquent ils ne se nomment plus TextBox1, TextBox2.. etc

Donc forcément , ce code ne peut pas fonctionner...
Code:
If Me.Controls("TextBox"&I).Visible=True Then

NB
: Vous ne tenez pas compte des réponses qu'on vous donne !
Vous refaites la même erreur (voir le message #3)
Private Sub UsfClients_Initialize()

PS: Pensez à mettre des noms fictifs dans vos pièces jointes
(lire la charte du forum à ce sujet)


 
Dernière édition:

choupie972

XLDnaute Nouveau
Re : Afficher les données dans les TextBox en fonction d'une ComboBox

Bonjour,
J'ai modifié mon fichier selon vos instructions mais j'ai toujours une erreur "Variable objet ou variable de code With non définie" dans UserForm Initialize.
J'avoue que je suis un peu perdue...
Pourriez-vous m'expliquer pourquoi cela ne fonctionne pas ?
Merci de votre aide,
Choupie
 

Pièces jointes

  • BASE CLIENTS.xlsm
    249.4 KB · Affichages: 69
  • BASE CLIENTS.xlsm
    249.4 KB · Affichages: 57
  • BASE CLIENTS.xlsm
    249.4 KB · Affichages: 52

fhoest

XLDnaute Accro
Re : Afficher les données dans les TextBox en fonction d'une ComboBox

Bonjour,
dans
Code:
Private Sub UserForm_Initialize()
Dim J As Long
Dim I As Integer
Dim Ligne As Long
With Me.CbNom
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("A" & J)
Next J
End With
Ws =rien
A+
 

choupie972

XLDnaute Nouveau
Re : Afficher les données dans les TextBox en fonction d'une ComboBox

Bonjour fhoest,

Merci de me consacrer un peu de ton temps, j'avoue que je tourne en rond et j'aimerais pouvoir avancer.

J'avais défini la variable Ws tout au début dans Option Explicit et je pensais que cela suffisait.
Cela dit, même en ajoutant une ligne Dim Ws As WorkSheet, j'ai toujours la même erreur au même endroit.
Je ne comprends pas.

Merci de ton aide,

A +
 

choupie972

XLDnaute Nouveau
Re : Afficher les données dans les TextBox en fonction d'une ComboBox

Bonjour,
Je m'aperçois que je n'ai pas joint mon fichier avec les dernières modifications.
Voilà qui est fait,
Merci de votre aide si vous détectez où est le problème,
A +

Choupie
 

Pièces jointes

  • BASE CLIENTS.xlsm
    249.6 KB · Affichages: 75
  • BASE CLIENTS.xlsm
    249.6 KB · Affichages: 68
  • BASE CLIENTS.xlsm
    249.6 KB · Affichages: 82

Discussions similaires

Statistiques des forums

Discussions
314 495
Messages
2 110 224
Membres
110 708
dernier inscrit
novy16