Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/12/2011, 11h02   #1
Invité de passage
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 0
Points : 0
Par défaut faire une liste déroulante

Bonjour,
Je dois faire une liste déroulante avec les feuilles de mon fichier excel avec un ComboBox mais je n'y arrive pas... Pourrez-vous me donner une solution ?
Merci d'avance !
Sylas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 11h23   #2
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Tu as déjà un bout de code ? Qu'on puisse t'aider sur le point qui te bloque ?
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 11h26   #3
Invité de passage
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 0
Points : 0
Je ne suis rendu qu'au début, mais le problème que j'ai c'est lorsque je met ComboBox1.AddItem (Ex 1) ( Ex 1 pour le nom de ma feuille ), Ex 1 n'apparait pas dans la liste déroulante lorsque j’exécute mon programme
Sylas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 11h30   #4
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Chez moi, le petit bout de code suivant marche très bien (à mettre sur le code de la feuille qui contient Combobox1 bien sûr), pour exemple :
Code :
1
2
3
4
5
6
7
Public Sub test()
    Dim ws As Worksheet
    ComboBox1.Clear
    For Each ws In ThisWorkbook.Worksheets
        ComboBox1.AddItem ws.Name
    Next ws
End Sub
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 11h34   #5
Invité de passage
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 0
Points : 0
J'ai essayé de faire comme vous avez dis mais cela ne fonctionne pas voilà mon code

Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub ComboBox1_Change()
ComboBox1.AddItem ("Ex 1")
 
End Sub
Public Sub test()
    Dim ws As Worksheet
    ComboBox1.Clear
    For Each ws In ThisWorkbook.Worksheets
        ComboBox1.AddItem ws.Name
    Next ws
End Sub
Sylas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 11h42   #6
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
L'évènement ComboBox1_Change correspond à ce qui se passe quand tu changes de ligne dans ton ComboBox. Ce n'est donc pas là qu'il faut le remplir.
Pour que ça fonctionne, il faut que tu executes le code test. Soit tu fais F5 quand tu es sur le code, soit tu l'associes à un bouton.

[EDIT] et n'oublie pas d'utiliser les balise Code (le bouton #) dans tes messages
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 11h46   #7
Invité de passage
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 0
Points : 0
Je vois pas où vous voulez en venir parce que, je n'arrive toujours pas voir mes feuilles dans mon menu déroulant, même en exécutant le test
Sylas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 11h50   #8
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
Je ne vois pas ce qui peut poser problème. Peux-tu détailler exactement ce que tu as fais, où est ta combobox, ce que tu voudrais voir...
Ou envoie ton fichier ou une version simplifiée, ce sera plus simple.
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 11h57   #9
Invité de passage
 
Homme
Étudiant
Inscription : novembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : novembre 2011
Messages : 7
Points : 0
Points : 0
Nous sommes en première année de DUT GMP et en info le prof nous as demandé de créer un programme qui pourrais résoudre un sudoku. Donc jusque là il n'y a aucune difficulté.

Après avoir terminé tout ça, le prof nous as demandé de créer un combobox menu déroulant avec dedans toute les feuilles contenant les sudokus irrésolues, pour pouvoir sélectionner la feuille que l'on veut et travailler dessus.

Voila mon code, c'est donc le deuxième userform qui s'appelle choix feuille qui est irrésolu
Fichiers attachés
Type de fichier : xls TP Sudoku 2.xls (75,5 Ko, 2 affichages)
Sylas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2011, 13h10   #10
Membre Expert
 
Avatar de ZebreLoup
 
Homme Sebastien L
Ingénieur Financier
Inscription : mars 2010
Messages : 880
Détails du profil
Informations personnelles :
Nom : Homme Sebastien L
Âge : 33
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur Financier
Secteur : Finance

Informations forums :
Inscription : mars 2010
Messages : 880
Points : 1 867
Points : 1 867
D'accord, il faut placer le code que je t'ai donné au niveau du UserForm, au moment de l'initialisation :
Code :
1
2
3
4
5
6
7
Private Sub UserForm_Initialize()
    Dim ws As Worksheet
    ComboBox1.Clear
    For Each ws In ThisWorkbook.Worksheets
    ComboBox1.AddItem ws.Name
    Next ws
End Sub
Et si tu veux qu'il ne soit pas vide par défaut :
Code :
If ComboBox1.ListCount > 0 Then ComboBox1.ListIndex = 0
ZebreLoup est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h39.


 
 
 
 
Partenaires

Hébergement Web