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 24/01/2012, 13h08   #1
Futur Membre du Club
 
Inscription : février 2011
Messages : 64
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 64
Points : 16
Points : 16
Par défaut Combobox d'une feuille en vba excel

Bonjour,
Tout est dans le titre.
J'ai un combobox situé sur une feuille "Feuil1" . Je veux aller dans la feuille"Feuil2" de mon fichier aspirer les données pour alimenter la liste de mon combobox.
Comment faire ? je n'y arrive pas.

Je sais parfaitement comment le faire si mon combobox se trouve dans un userform.

Mais le cas actuel, le combobox est directement dans le fichier.

Un grand merci par avance pour votre aide.
hobine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 13h30   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 924
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 924
Points : 7 254
Points : 7 254
Bonjour,

Pour alimenter une combobox en liant avec les données saisies dans une feuille

Dans un userform
Code :
Combobox1.RowSource = "Feuil1!A1:A10"
Dans un onglet
Code :
Combobox1.ListFillRange = "Feuil1!A1:A10"

Dans les 2 cas on peut aussi utiliser la propriété AddItem
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h03   #3
Futur Membre du Club
 
Inscription : février 2011
Messages : 64
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 64
Points : 16
Points : 16
d'abord pour vos propositions
c'est quoi la propriété Additem? comment l’intégrer dans mon programme ci-dessous?
alors j'ai voulu intengrer le code mais cela ne fonctionne. comment faire?


Code :
1
2
3
4
5
Private Sub ComboBox1_Change()
 
ComboBox1.ListFillRange = "Admin_Systemes!A1:A10"
 
End Sub
hobine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h09   #4
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 924
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 924
Points : 7 254
Points : 7 254
Ce n'est pas dans le bon évènement

Code :
Private Sub UserForm_Initialize()
Ou directement en modifiant la propriété de l'objet dans la fenêtre propriété de VBA
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h16   #5
Futur Membre du Club
 
Inscription : février 2011
Messages : 64
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 64
Points : 16
Points : 16
j'ai intergré comme convenu mais cela ne fonctionne tjrs pas.
Je vous mets mon fichier en Pièce jointe pour que vous puissiez tester par vous-même.

cordialement
Fichiers attachés
Type de fichier : xls combobox.xls (67,0 Ko, 6 affichages)
hobine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h19   #6
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 924
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 924
Points : 7 254
Points : 7 254
Désolé, ma précédente réponse correspondait à un Userform

Code :
1
2
3
Private Sub Worksheet_Activate()
ComboBox1.ListFillRange = "Admin_Systemes!A1:A10"
End Sub
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 14h27   #7
Expert Confirmé
 
Avatar de pc75
 
Inscription : septembre 2004
Messages : 2 807
Détails du profil
Informations personnelles :
Âge : 56
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : septembre 2004
Messages : 2 807
Points : 3 005
Points : 3 005
Bonjour,

Pour alimenter une combo avec des données d'une autre feuille, il existe la "validation de données" qui permet de faire ça.

Données => Validation => autoriser Liste => Nom de la plage de données
__________________
Par principe, je ne réponds pas aux messages URGENT.
Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
pc75 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/01/2012, 15h00   #8
Futur Membre du Club
 
Inscription : février 2011
Messages : 64
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 64
Points : 16
Points : 16
pc75, je veux le faire par vba non par manipulation.

jfontaine, j'ai copié ton programme et colle sur vbaprojet de la feuille contenant le combobox et j'ai activé le combobox, aucune liste n’apparaît.
par la suite j'ai esssayé en collant le code dans un module, aucune changement de la liste
en mettant également sur thisworkbook, tjrs pas d'usure positive.
Pouvez le faire dans le fichier que je vous ai envoyé s'il vous plaît? et me l'envoyer?

merci

j'ai trouvé ce code sur le net et j'ai voulu adapter à ma sauce malheuresemnt je ne parviens tjrs pas à recuperer les données de la feuille Admin_systemes pour faire la liste de mon combobox se trouvant dans la feuille Feuil1

merci


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub ComboBox1_Change()
 
 
End Sub
 
 
 
Private Sub Worksheet_Activate()
    Dim Cell As Range
    Me.ComboBox1.Clear
    With Sheets("Admin_Systemes")
        For Each Cell In .Range("A2:A" & .Range("A65536").End(xlUp).Row)
            Me.ComboBox1.AddItem (Cell)
        Next
    End With
End Sub
hobine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 15h07   #9
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 924
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 924
Points : 7 254
Points : 7 254
Le code étant dans l’évènement Activate de l'onglet, il faut sortir et entrée dans ce dernier pour que le code s’exécute

combobox (1).xls
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 15h21   #10
Futur Membre du Club
 
Inscription : février 2011
Messages : 64
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 64
Points : 16
Points : 16
Jerome,
je vais passer pour une bete mais je ne comprends toujours comment vous avez vous fait? qu'avez vous exactement fait de plus ? Pourquoi ici, je n'utilise pas

désole si ma question vous semble bête. J'ai besoin de comprendre.

Code :
1
2
3
Private Sub ComboBox1_Change()
 
End Sub
hobine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 15h26   #11
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 924
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 924
Points : 7 254
Points : 7 254
On met dans l’évènement Change les actions a faire quand on change la valeur choisie dans la combobox (F1 sur l’évènement pour l'aide)
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h29.


 
 
 
 
Partenaires

Hébergement Web