Mes textbox ne se remplissent pas correctement
Résolu
VDB.57
-
VDB.57 -
VDB.57 -
Bonjour,
Récemment j’ai fait appel à vos services et votre réponse était des plus efficaces, ce dont je vous remercie encore.
Actuellement je bute sur un problème : j’ai deux feuilles identiques une nommée « adhérents » et la deuxième « sauvegarde ».
Dans mon userform il y a 2 combobox qui me permettent d’appeler les noms des inscrits de la colonne « C » et ce, pour chacune des deux feuilles.
A chaque nom, est attribué 7 « textbox » dans ma userform.
Mon problème : (voir fichier joint)
Lorsque je sélectionne un nom avec ma combobox 1 de la feuille « sauvegarde » les noms correspondants sont exacts mais les textbox se remplissent avec les valeurs de la feuille « adhérents » au lieu de la feuille « sauvegarde » !!!!!
Pour ma combobox 3 de la feuille « adhérents » tout se rempli correctement.
Par avance je vous remercie pour votre aide précieuse.
Récemment j’ai fait appel à vos services et votre réponse était des plus efficaces, ce dont je vous remercie encore.
Actuellement je bute sur un problème : j’ai deux feuilles identiques une nommée « adhérents » et la deuxième « sauvegarde ».
Dans mon userform il y a 2 combobox qui me permettent d’appeler les noms des inscrits de la colonne « C » et ce, pour chacune des deux feuilles.
A chaque nom, est attribué 7 « textbox » dans ma userform.
Mon problème : (voir fichier joint)
Lorsque je sélectionne un nom avec ma combobox 1 de la feuille « sauvegarde » les noms correspondants sont exacts mais les textbox se remplissent avec les valeurs de la feuille « adhérents » au lieu de la feuille « sauvegarde » !!!!!
Pour ma combobox 3 de la feuille « adhérents » tout se rempli correctement.
Par avance je vous remercie pour votre aide précieuse.
Private Sub UserForm_Initialize()
Me.TextBox8.Value = Range("T1").Value
Me.TextBox9.Value = Range("R2").Value
Me.TextBox10.Value = Range("N6").Value
TextBox10 = Round(TextBox10, 0)
Dim J As Long
Dim I As Integer
ComboBox2.ColumnCount = 1
ComboBox2.List() = Array("", "CHEQUE", "ESPECE")
Set Ws = Sheets("Sauvegarde")
With Me.ComboBox1
For J = 2 To Ws.Range("c" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("c" & J)
Next J
End With
For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Next I
Set Ws = Sheets("adhérents")
With Me.ComboBox3
For J = 2 To Ws.Range("c" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("c" & J)
Next J
End With
For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
Private Sub ComboBox1_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox1.ListIndex + 2
ComboBox2 = Ws.Cells(Ligne, "B")
For I = 1 To 7
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
Next I
End Sub
Private Sub ComboBox3_Change()
Dim Ligne As Long
Dim I As Integer
If Me.ComboBox3.ListIndex = -1 Then Exit Sub
Ligne = Me.ComboBox3.ListIndex + 2
ComboBox2 = Ws.Cells(Ligne, "B")
For I = 1 To 7
Me.Controls("TextBox" & I) = Ws.Cells(Ligne, I + 2)
Next I
End Sub
2 réponses
-
Bonjour,
Ws est déclarée ou ?? -
Bonjour tout le monde,
Si vous n'avez pas d'erreur après avoir mis option explicit, c'est que ws est déclarée quelque part.
Donc cette variable garde la dernière affectation qui est faite dans userform_initialize, c'est à dire la feuille "adhérents". Vous devez réaffecter cette variable à "Sauvegarde"-
Private Sub UserForm_Initialize()
Me.TextBox8.Value = Range("T1").Value
Me.TextBox9.Value = Range("R2").Value
Me.TextBox10.Value = Range("N6").Value
TextBox10 = Round(TextBox10, 0)
Dim J As Long
Dim I As Integer
ComboBox2.ColumnCount = 1
ComboBox2.List() = Array("", "CHEQUE", "ESPECE")
Set Ws = Sheets("Sauvegarde")
With Me.ComboBox1
For J = 2 To Ws.Range("c" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("c" & J)
Next J
End With
For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Next I
Set Ws = Sheets("adhérents")
With Me.ComboBox3
For J = 2 To Ws.Range("c" & Rows.Count).End(xlUp).Row
.AddItem Ws.Range("c" & J)
Next J
End With
For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Next I
End Sub
Le code ci dessous du pavé "sauvegarde" ne fonctionne pas il est remplacé par le pavé "adhérents"
For I = 1 To 7
Me.Controls("TextBox" & I).Visible = True
Merci encore pour votre implication et votre aide au petit retraité que je suis.
-