Rowsource dont la feuille est variable

kems

XLDnaute Nouveau
Bonjour tout le monde,
J'aimerai avoir votre aide sur un probleme que je rencontre.
J'ai un userform1 sur lequel j'ai un combobox1 dont les valeurs sont les noms de chaque feuille de mon classeur. Une fois la valeur du combobox1 choisie, je clique sur un bouton qui execute un deuxieme userform2 avec un autre combobox2 dont j'aimerai que les valeurs affichées soient celles figurantes sur la colonne A de la feuille selectionnée dans le premier combobox1 du userform1.
Ma méthode :

Private Sub ComboBox2_Change()
c = UserForm1.ComboBox1.Value
ComboBox2.RowSource = Sheets(c).Range("A:A")
End Sub

Cette méthode ne marche pas. Comment faire? pourriez-vous me donner un coup de main svp? je vous remercie
 

alex67800

XLDnaute Impliqué
Re : Rowsource dont la feuille est variable

Bonjour kems,
essai ceci:
Code:
ComboBox2.[COLOR="Blue"]List[/COLOR] = Sheets(UserForm1.ComboBox1.Value).Range("A1:A" & .Range("A65536").End(xlUp).Row).Value

Où alors si ton usf1 active la feuille choisie dans cbx1, essai avec:
Code:
[COLOR="Blue"]Activesheet[/COLOR].Range("A1:A" & .Range("A65536").End(xlUp).Row).Value

A te lire!

Edit: Bonjour Pierrot93
 

kems

XLDnaute Nouveau
Re : Rowsource dont la feuille est variable

Bonjour, merci pour votre aide, mais cela n'a pas pu resoudre mon probleme. J'ai testé vos solution, rien a faire. J'utilise excel 2007 (au cas ou ce detail serait necessaire).
Je crois avoir un soucis avant tout a un autre niveau, un peu plus simple a resoudre je suppose. Je n'arrive pas a affecter une plage de données a ma combobox en passant par vba.
voici mon exemple :
quand je clique sur mon userform et ensuite que je double clique sur ma combobox, j'ai le code qui s'affiche et voici ce que j'ai tapé :

Private Sub ComboBox2_Change()
userform2.combobox2.rowsource = "Feuil1!A:A"
End Sub

cependant quand j'execute ce code, et que je clique sur ma combobox, elle est vide.
Comment faire pour cela svp? Apparement c'est le bon code, mais ca ne fonctionne pas.

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Rowsource dont la feuille est variable

Re Kems, Alex

pas top l'utilisation de rowsource, surtout lors de l'événement "change" de ce même contrôle.... essaye peut être comme ci dessous, lors de l'initialisation de l'USF :

code qui fonctionne chez moi (excel 2003)
Code:
Private Sub UserForm_Initialize()
ComboBox1.RowSource = Range("A1:A22").Address
End Sub

après tout dépend du résultat recherché.... sans plus de détails...

bonne soirée
@+

Edition : code s'appliquant à la feuille active.
 

kems

XLDnaute Nouveau
Re : Rowsource dont la feuille est variable

Salut Pierrot, salut à tous
j'ai testé ta proposition, rien a faire!
J'ai créé un nouveau classeur et renseigné les cellules A1 a A10 de la feuille 1, créé un userform et un combobox.
Lorsque je clique droit sur UserForm1 (dans Vba Project à gauche de l'écran) et je clique sur code, j'ai donc la fenetre ou je peux ecrire mon code qui s'ouvre.
J'ai ainsi recopié le code proposé :

Private Sub UserForm1_initialize()
ComboBox1.RowSource = Range("A1:A5").Address
End Sub

Cependant lorsque j'exécute mon userform, mon combobox est toujours vide...
Ai-je mal procédé?
Merci encore
 

Pierrot93

XLDnaute Barbatruc
Re : Rowsource dont la feuille est variable

Bonjour Kems

mets en pièce jointe un tout petit fichier, enregistrer sous 2003, avec le minimum de données, mais permettant de reproduire ton problème, car là, en l'état vois pas trop comment t'aider....

bonne journée
@+
 

alex67800

XLDnaute Impliqué
Re : Rowsource dont la feuille est variable

Bonjour kems, pierrot, le forum,

Ci-joint un petit bout de fichier avec ce que j'ai compris.
- La comobox1 de l'USF1 active la feuille
- Le bouton valider de l'USF1 affiche l'USF2
-La combobox1 de l'USF2 reprend les données de la colonne A de la feuille choisie dans la combobox1 de l'USF1.

La méthode proposée fonctionne. J'ai juste rajouter Combobox1.Clear avant de charger la combobox1 dans l'initialize de tel sorte qu'elle se vide d'abord.

A te lire.
 

Pièces jointes

  • testkems.xls
    41 KB · Affichages: 209

kems

XLDnaute Nouveau
Re : Rowsource dont la feuille est variable

coucou tout le monde,
Merci enormement de votre aide, et en particulier alex, j'ai ouvert le fichier joint et je me suis inspiré de la methode ".list" au lieu de ".rowsource" et ca a resolu mon probleme, j'ai pu attribué la plage de données a ma combobox!
Merci infiniment, et vive le forum.
A tres bientot
 

Discussions similaires

Statistiques des forums

Discussions
312 380
Messages
2 087 797
Membres
103 664
dernier inscrit
wolvi71