Liste déroulante VBA-Excel [Résolu]

benito28 8 Messages postés mercredi 25 avril 2007Date d'inscription 17 mai 2007 Dernière intervention - 26 avril 2007 à 23:46 - Dernière réponse : benito28 8 Messages postés mercredi 25 avril 2007Date d'inscription 17 mai 2007 Dernière intervention
- 27 avril 2007 à 01:27
Bonjour à toutes et à tous,

    J'aimerais savoir le code en VBA-Excel pour charger une liste déroulante à partir d'une base de données d'une sheet autre que la première (qui se charge par défaut) ... Je m'explique : Quand j'écris :

Private Sub UserForm_Initialize()
ComboBox1.Text = "Promos"
    der = Range("A1").End(xlDown).Row
    ComboBox1.RowSource = "A1:A" & der
      
ComboBox2.Text = "Eleves"
    der = Range("A1").End(xlDown).Row
    ComboBox2.RowSource = "A1:A" & der
End Sub

La première liste déroulante dois se charger avec les données de la sheet1, et la deuxieme doit se charger à partir des données se trouvant dans la sheet dont le nom a été selectionné dans la première liste déroulante :
        en fait, la première sheet (et doncla première liste déroulante) représente les promos d'une école, et les autres fauilles représentent les élèves de chaque promos.
       Par exemple quand on selectionne  la promo "1ere année" dans la liste déroulante 1, j'aimerais qu'automatiquement les noms des élèves de 1ere année (qui se trouvent dans la sheet nommée "1ere année") se chargent dans la liste déroulante 2.... etc

Voilà, merci d'avance de votre aide potentielle....

Benito, un néophyte en programmation, mais à qui ça plaît bien..

PS: selon Wikipédia:<li>un néophyte peut également être un débutant dans le domaine auquel il se consacre. En informatique, un néophyte est appelé un newbie ou noob ;</li><li>le sens de néophyte peut être plus fort et le mot est
employé pour désigner des personnes n'ayant aucune connaissance
particulière dans un domaine donné, comme dans l'expression « un vrai
néophyte en électronique » ;</li>
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 26 avril 2007 à 23:53
3
Merci
Salut,

essaie comme ceci :

Private Sub UserForm_Initialize()
ComboBox1.Text = "Promos"
   der = Range("A1").End(xlDown).Row
   ComboBox1.RowSource = "A1:A" & der
End Sub

Private Sub ComboBox1_Change()
ComboBox2.Text = "Eleves"
   der = Range("A1").End(xlDown).Row
   ComboBox2.RowSource = ComboBox1.Text " "!A1:A" & der
End Sub

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  

Merci mortalino 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de mortalino
Meilleure réponse
benito28 8 Messages postés mercredi 25 avril 2007Date d'inscription 17 mai 2007 Dernière intervention - 27 avril 2007 à 01:27
3
Merci
Merci, j'ai essayé ton truc, mais ça marchait malheureusement pas..en tout cas, mercide t'être donné la peine de me lire...
Et finalement en bidouillant sur des sites webs, j'ai tout simplement trouvé ceci, et ça marche :

Private Sub UserForm_Initialize()
    ComboBox1.Text = "Promos"
    der = Range("A1").End(xlDown).Row
    ComboBox1.RowSource = "A1:A" & der
End Sub

Private Sub ComboBox1_Click()
    Sheets(ComboBox1.Text).Select
        ComboBox2.Text = "Eleves"
        der = Range("A1").End(xlDown).Row
        ComboBox2.RowSource = "A1:A" & der
End Sub

En fait, il suffisait d'activer la sheet correspondant à la valeur selectionnée dans la liste déroulante 1, et de lui associer une action lors du clic sur la liste 1.Je mets ça, si ça peut servir à quelqu'un... tant mieux.

Benito

Merci benito28 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

Commenter la réponse de benito28

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.