formulaire,

pepin61

XLDnaute Nouveau
bonjour,
je viens juste de m'initier au langage Vba.
Je souhaite faire un formulaire
tout marche comme je veux sauf pour les combobox que ce soit la 2 ou la 3 où je n'arrive pas à mettre un menu
j'ai essayé avec additem et avec array
je suppose qu'il y a quelque chose qui cloche dans mon initialisation :
Private Sub UsfFichierClients_Initialize()
'Nombre de lignes
Dim J As Long
'Nombre de TextBoxs
Dim I As Integer
'variable Ws comme un objet de type Sheet (Feuille de cacul Client)
Set Ws = Sheets("Fichier")

With Me.ComboBox2
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 9
'affiche les données dans les textbox
Me.Controls("TextBox" & I).Visible = True
Next I
'Initialisation de Combobox Entreprise, particulier
ComboBox3.List = Array("E", "P")
End Sub

Merci pour votre aide
 

Celeborn61

XLDnaute Occasionnel
Re : formulaire,

Bonjour,

Private Sub UsfFichierClients_Initialize() ' Il faut rester référé à l'userForm "UserForm_Initialize"
'Nombre de lignes
Dim J As Long
'Nombre de TextBoxs
Dim I As Integer
'variable Ws comme un objet de type Sheet (Feuille de cacul Client)
Set Ws = Sheets("Fichier") ' Réfère toi au classeur pour éviter les surprises ultérieures
With Me.ComboBox2
For J = 2 To Ws.Range("A" & Rows.Count).End(xlUp).Row ' Le Rows n'est pas référé
.AddItem Ws.Range("A" & J)
Next J
End With

For I = 1 To 9
'affiche les données dans les textbox
Me.Controls("TextBox" & I).Visible = True ' Tu ne transfert pas les données là, tu ne fais qu'afficher les textBoxs
Next I
'Initialisation de Combobox Entreprise, particulier
ComboBox3.List = Array("E", "P")
End Sub

Copie dans l'éditeur VBA, ce sera plus clair
 
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Re : formulaire,

Bonjour
Mieux vaut traiter les données de la Combobox à part de l'Init. un exemple :
Code:
Private Sub UserForm_Initialize()
With Worksheets("Formations par personne")
ligF = DerLigneTexte() ' fonction à part pour rechercher une der. Lig . spéciale
nom_P.AddItem ""

For J = 16 To ligF
nm = Worksheets("Formations par personne").Range("b" & J).Value
nom_P.AddItem nm
Next J .... etc
ensuite j'ai une Combo (liste) : Sub nom_P_AfterUpdate
Mais cela dépend aussi de ce que l'on a à traiter par la suite
 

Discussions similaires

Réponses
11
Affichages
347
Réponses
2
Affichages
303
Réponses
0
Affichages
176

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974