Probleme combobox

chtite24

XLDnaute Nouveau
Bonjour,

Après avoir cherché des solutions sur d'autres posts, j'ai finalement trouvé une solution à mon problème... enfin c'est ce que je croyais... ça fonctionne pour tout le monde sauf pour moi... :p
Je vous explique donc mon problème :
J'ai une Boite de dialogue "Ajout_Objet" dans laquelle j'ai deux combobox "Liste_Type" et "Liste_Groupe"
Le souci c'est que si je renseigne la case RowSource de mes combobox, j'ai le droit à plein de lignes vides.
(En effet, je prévois une plage très large car les listes sont variables (de 1 ligne à 100...).
J'ai donc effacer le contenu de RowSource et mis le code suivant dans le code de ma BDD "Ajout_Objet"

Private Sub Ajout_Objet_Initialize()

For Each cel In Sheets("Donnees").Range("A2:A" & Sheets("Donnees").Range("A65536").End(xlUp).Row)
If cel.Value <> "" Then Me.Liste_Type.AddItem cel.Value
Next cel

For Each cel In Sheets("Donnees").Range("D2:D" & Sheets("Donnees").Range("D65536").End(xlUp).Row)
If cel.Value <> "" Then Me.Liste_Groupe.AddItem cel.Value
Next cel

End Sub


Mais maintenant, au lieu d'avoir ma liste suivie de lignes vides, je n'ai plus qu'une seule ligne vide comme choix de selection... ma liste n'apparait pas.

Comment faire? Quel est l'erreur dans mon code?

Merci d'avance,

Cordialement,
 

blord

XLDnaute Impliqué
Re : Probleme combobox

Bonjour,

À essayer :

Sub LoadRegroupements()
'-------------------------------
'Load les regroupements
ComboBoxRegroupement.Clear
Dim L As Integer
Dim i As Integer
L = Worksheets("Regroupements").Range("A65536").End(xlUp).Row

For i = 2 To L
With Me.ComboBoxRegroupement
.AddItem Worksheets("Regroupements").Range("A" & i)
End With
Next
End Sub
 

chtite24

XLDnaute Nouveau
Re : Probleme combobox

Enfait c'est bon j'ai résolu mon probleme...
Au lieu de mettre Private Sub Ajout_Objet_Initialize()
j'ai mis mes boucles For dans chaque PrivateSub ComboBox_Change() correspondant.
Merci tout de même pour ta reponse.
 

laetitia90

XLDnaute Barbatruc
Re : Probleme combobox

bonjour chtite24,blord:):)
tu peus mettre dans initialise de l'user

Code:
Private Sub UserForm_Initialize()
 Dim c As Range
 With Sheets("donnees")
 For Each c In .Range("a2", .Cells(Rows.Count, "a").End(xlUp))
 If c <> "" Then Liste_Type.AddItem c
 If c.Offset(0, 3) <> "" Then Liste_Groupe.AddItem c.Offset(0, 3)
 Next c
 End With
End Sub
 

Discussions similaires

Réponses
2
Affichages
154

Statistiques des forums

Discussions
312 329
Messages
2 087 327
Membres
103 517
dernier inscrit
hbenaoun63