Listbox

J

JB

Guest
Bonjour à tous,

J'ai réussi à créer une listbox grace à des récherche sur ce site (merci pour les astuces). Maintenant je voudrias que ma plage de référence ne soit plus dans la 'feuil3' mais dans le fichier 'Base de donée' en 'Feuil1'. Ca doit être tout simple à réaliser mais je bloque!!!

Merci pour votre aide.

Private Sub UserForm_Initialize()
'Indique le chemin d'accès au n° de lot
Dim c As Range
Dim i As Integer
Dim data As Collection

Set data = New Collection
With Sheets('feuil3')


'alimentation d'une collection (data) avec les données de la colonne A de la feuille 3
'sans doublons
For Each c In .Range('a2:a' & .Range('a65536').End(xlUp).Row)
On Error Resume Next
data.Add c, CStr(c)
On Error GoTo 0
Next c

'renvoi de la collection (data) dans la combobox1
For i = 1 To data.Count
combobox1.AddItem data(i)
Next i

End With


End Sub
 

adebrux

XLDnaute Occasionnel
Salut JB,

Dans ton code, pour aller chercher une plage de référence se trouvant en page 1, il faut chager le
Code:
 with sheets('feuil3')
en
Code:
 with sheets('Base de donnée')
Tu peux aussi changer le nom entre guillement par l'index de la feuille (1 ou la feuille 1, 2 pour la 2 etc.)
ce qui donnerait
Code:
with sheets(1)

Fait attention aussi que dans ton code, la plage de donnée se trouve en colonne A et commence en ligne 2.

Tu peux étendre la plage, ou changer de colonne en changeant le bout de code suivant:
Code:
For Each c In .Range('a2:a' & .Range('a65536').End(xlUp).Row)
si tu change a2 par n'importe quelle autre référence, tu modifie la première cellule de ta plage. tu peux par exemple mettre b1 pour que ça commence en cellule B1.
Ensuite, tu peux aussi étendre ta plage à d'autre colonne. Pour ça, tu change :a en :d par exemple, et range('a65536') en range('d65536')
ce qui donne le code suivant:
Code:
For Each c In .Range('b1:d' & .Range('d65536').End(xlUp).Row)
Tu obtiendras dans ce cas une plage de donnée qui part de la cellule B1 jusqu'à la ligne qui contient des données le plus bas en colonne D.

En espérant avoir été assez clair !! :)

Bonne continuation
 
J

JB

Guest
Merci pour tes précisions.
C'est moi qui n'est pas été assez clair. Ma listbox ce trouve dans le fichier 'Feuille d'enregistrement' et fais référence à la feuil3. Je voudrai qu'elle fasse référence à la 'feuil1' du fichier 'base de donnée'. Mon problème étant que je ne sais faire appel au fichier 'base de donnée'...
Merci
 

adebrux

XLDnaute Occasionnel
Euh... là, je vais avoir du mal à t'aider... J'ai pas encore les connaissances suffisantes. Tu trouvera peutêtre ton bonheur dans le wiki de michelXlD


Euh, et dans tous les autres Wiki aussi!!!

Bon courage

PS: Ca y est, j'ai réussi à faire un lien sans que l'url s'affiche !!! :woohoo:

Message édité par: adebrux, à: 09/11/2005 11:40
 

Discussions similaires

Réponses
11
Affichages
347

Statistiques des forums

Discussions
312 495
Messages
2 088 966
Membres
103 993
dernier inscrit
Essens