List/rowsource
Résolu
chrisdemontigny
Messages postés
64
Date d'inscription
Statut
Membre
Dernière intervention
-
chrisdemontigny Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
chrisdemontigny Messages postés 64 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici le code suivant:
private sub me_initialize()
with worksheets("bddclients")
me.combobox1.list=.range("c1:c"& .range(c65365).end(xlup).row).value
end sub
le combobox devrait normalement aller chercher une liste de clients dans la feuille bddclients. Seulement, là, je n'ai rien: je fais EXECUTION et l'userform s'affiche correctement, mais rien dans le combobox.
La syntaxe de rowsource ou List me semble toujours très compliquée à partir du moment où on a une plage de source variable.
Quelqu'un peut-il m'aider?
Bonnes fêtes!
Voici le code suivant:
private sub me_initialize()
with worksheets("bddclients")
me.combobox1.list=.range("c1:c"& .range(c65365).end(xlup).row).value
end sub
le combobox devrait normalement aller chercher une liste de clients dans la feuille bddclients. Seulement, là, je n'ai rien: je fais EXECUTION et l'userform s'affiche correctement, mais rien dans le combobox.
La syntaxe de rowsource ou List me semble toujours très compliquée à partir du moment où on a une plage de source variable.
Quelqu'un peut-il m'aider?
Bonnes fêtes!
A voir également:
- List/rowsource
- List disk - Guide
- Directory list & print - Télécharger - Divers Utilitaires
- Zn-401s code list - Forum Téléviseurs
- Rm-014s+ code list - Forum Téléviseurs
- Mailing list gmail - Guide
8 réponses
Le nom de ta procédure semble ambigü, "me" est un mot réserve au langage, il ne faut pas nomme un objet "me"
Essaies (avec un UserForm nommé Client):
Private Sub UserForm_Initialize()
With ThisWorkbook.Worksheets("bddclients")
Client.ComboBox1.List = .Range("C1:C" & .Range("C65536").End(xlUp).Row).Value
End With
End Sub
Private Sub UserForm_Initialize()
With ThisWorkbook.Worksheets("bddclients")
Client.ComboBox1.List = .Range("C1:C" & .Range("C65536").End(xlUp).Row).Value
End With
End Sub
Bonsoir chrisdemontigny,
Joyeux Noël,
Heliotte.
Dim i As Integer, iMin As Integer, iMax As Integer ' iMin = 14: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row For i = iMin To iMax ComboBox1.AddItem (Cells(i, 1).Value) Next i
Joyeux Noël,
Heliotte.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour et merci pour vos réponses.
Ce code a fonctionné dans un nouveau fichier où j'ai rajouté des données dans une colonne pour avoir des données qui apparaissent.
En revanche, j'ai un fichier dans lequel j'ai plusieurs feuilles et plusieurs userform et là, ca reste toujours sans rien.
J'ai fait un copier-coller du code de patrice33740 pour être sur que je n'oubliais rien, mais rien n'y fait.
Voici le code que j'ai donc changé en fonction de vos lumières:
Private Sub smclient_initialize()
Dim i As Integer, iMin As Integer, iMax As Integer
iMin = 1: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
smclient.ComboBox1.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 3), Cells(iMax, 3)).Value
smclient.ComboBox2.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 2), Cells(iMax, 2)).Value
End Sub
Merci de votre aide par avance.
Ce code a fonctionné dans un nouveau fichier où j'ai rajouté des données dans une colonne pour avoir des données qui apparaissent.
En revanche, j'ai un fichier dans lequel j'ai plusieurs feuilles et plusieurs userform et là, ca reste toujours sans rien.
J'ai fait un copier-coller du code de patrice33740 pour être sur que je n'oubliais rien, mais rien n'y fait.
Voici le code que j'ai donc changé en fonction de vos lumières:
Private Sub smclient_initialize()
Dim i As Integer, iMin As Integer, iMax As Integer
iMin = 1: iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
smclient.ComboBox1.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 3), Cells(iMax, 3)).Value
smclient.ComboBox2.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 2), Cells(iMax, 2)).Value
End Sub
Merci de votre aide par avance.
Bonjour,
Explications :
- Ce code, signifie qu'il va rechercher la dernière ligne non-vide de la colonne "Columns(1)" ~~ signifie "Colonne A"
Or, tu as besoin de rechercher la dernière ligne non-vide des colonne "B" et "C".
Veux-tu essayer ceci:
iMax = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
Explications :
- Ce code, signifie qu'il va rechercher la dernière ligne non-vide de la colonne "Columns(1)" ~~ signifie "Colonne A"
Or, tu as besoin de rechercher la dernière ligne non-vide des colonne "B" et "C".
Veux-tu essayer ceci:
Private Sub smclient_initialize() Dim i As Integer, iMin As Integer, iMax As Integer ' iMin = 1: iMax = Columns(3).Find("*", , , , xlByColumns, xlPrevious).Row smclient.ComboBox1.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 3), Cells(iMax, 3)).Value iMax = Columns(2).Find("*", , , , xlByColumns, xlPrevious).Row smclient.ComboBox2.List = ThisWorkbook.Sheets("bddclients").Range(Cells(iMin, 2), Cells(iMax, 2)).Value End Sub