VB, important
Résolu/Fermé
charly
-
2 mars 2011 à 15:21
rv83toulon Messages postés 68 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 avril 2013 - 3 mars 2011 à 10:31
rv83toulon Messages postés 68 Date d'inscription mercredi 2 mars 2011 Statut Membre Dernière intervention 25 avril 2013 - 3 mars 2011 à 10:31
A voir également:
- VB, important
- Vb - Télécharger - Langages
- Vb cable - Télécharger - Audio & Musique
- Vb editor - Télécharger - Langages
- Vb runtime - Télécharger - Divers Utilitaires
- Range vb - Forum VB / VBA
7 réponses
Krystan
Messages postés
36
Date d'inscription
mercredi 16 février 2011
Statut
Membre
Dernière intervention
17 mars 2011
10
2 mars 2011 à 16:48
2 mars 2011 à 16:48
Je ne sais pas si c'est ce que tu veux mais essai ça :
J'ai créé une combobox (Combobox1) sur la Feuil1 qui intégrera les données des colonnes A
J'ai créé une autre Combobox (Combobox2) toujours sur la Feuil1 qui contiendra le nom des différentes feuilles
Et enfin un petit bouton GO (Sur la Feuil1 egalement) afin de lancer le prog
**************************************************************
Private Sub GO_Click()
Dim Feuille, Donnees
Feuille = ComboBox2.Value
'Sélectionner la feuille choisit dans le Combobox2
Worksheets(Feuille).Activate
'Sélection de la cellule A1
Worksheets(Feuille).Range("A1").Select
'Boucle de emplissage de la Combobox1
Do
Donnees = ActiveCell.Value
'Test si la cellule est vide pour quitter la boucle
If Donnees = "" Then
Exit Do
Else
End If
'Remplissage de la Combobox1
Worksheets("Feuil1").Activate
Worksheets("Feuil1").ComboBox1.AddItem Donnees
'Descendre d'une cellule
Worksheets(Feuille).Activate
ActiveCell.Offset(1, 0).Activate
Loop
End Sub
**************************************************************
*Pour mettre les nom de feuille dans la ComboBox2 j'ai utilisé ça :
Private Sub Workbook_Open()
Worksheets("Feuil1").ComboBox2.AddItem "Feuil1"
Worksheets("Feuil1").ComboBox2.AddItem "Feuil2"
Worksheets("Feuil1").ComboBox2.AddItem "Feuil3"
End Sub
En espérant que c'est ce que tu cherchais... (Bon je n'ai pas utilisé de Userform, mais le principe doit pas trop changer)
J'ai créé une combobox (Combobox1) sur la Feuil1 qui intégrera les données des colonnes A
J'ai créé une autre Combobox (Combobox2) toujours sur la Feuil1 qui contiendra le nom des différentes feuilles
Et enfin un petit bouton GO (Sur la Feuil1 egalement) afin de lancer le prog
**************************************************************
Private Sub GO_Click()
Dim Feuille, Donnees
Feuille = ComboBox2.Value
'Sélectionner la feuille choisit dans le Combobox2
Worksheets(Feuille).Activate
'Sélection de la cellule A1
Worksheets(Feuille).Range("A1").Select
'Boucle de emplissage de la Combobox1
Do
Donnees = ActiveCell.Value
'Test si la cellule est vide pour quitter la boucle
If Donnees = "" Then
Exit Do
Else
End If
'Remplissage de la Combobox1
Worksheets("Feuil1").Activate
Worksheets("Feuil1").ComboBox1.AddItem Donnees
'Descendre d'une cellule
Worksheets(Feuille).Activate
ActiveCell.Offset(1, 0).Activate
Loop
End Sub
**************************************************************
*Pour mettre les nom de feuille dans la ComboBox2 j'ai utilisé ça :
Private Sub Workbook_Open()
Worksheets("Feuil1").ComboBox2.AddItem "Feuil1"
Worksheets("Feuil1").ComboBox2.AddItem "Feuil2"
Worksheets("Feuil1").ComboBox2.AddItem "Feuil3"
End Sub
En espérant que c'est ce que tu cherchais... (Bon je n'ai pas utilisé de Userform, mais le principe doit pas trop changer)
rv83toulon
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
15
2 mars 2011 à 17:57
2 mars 2011 à 17:57
Bonjour,
si je comprend bien tu as une userform dans lequel il y a une listbox avec le nom des feuilles du classeur. En fonction du choix dans la listbox afficher dans un combobox la colonne A de la feuille?
Si c'est le cas voici un exemple avec une listbox qu'on va appeller listbox1 et une combobox qu'on va appeller combobox1:
- a l'initialize du userform on met les noms des feuilles dans la listbox comme ceci :
- ensuite pour remplir la combobox il faut utiliser les événements du control listbox. pour l'exemple on va prendre le double_click. Ainsi en faisant un doubleclic sur un item de ta listbox il va remplir le combobox, comme ceci :
Dis mois si j'ai bien saisie, et adpate à tes besoins.
A+
si je comprend bien tu as une userform dans lequel il y a une listbox avec le nom des feuilles du classeur. En fonction du choix dans la listbox afficher dans un combobox la colonne A de la feuille?
Si c'est le cas voici un exemple avec une listbox qu'on va appeller listbox1 et une combobox qu'on va appeller combobox1:
- a l'initialize du userform on met les noms des feuilles dans la listbox comme ceci :
Private Sub UserForm_Initialize() 'je boucle sur la collection des feuilles du classeur For Each sh In Worksheets 'j'ajoute le nom de la feuille à la listbox Me.ListBox1.AddItem sh.Name Next sh End Sub
- ensuite pour remplir la combobox il faut utiliser les événements du control listbox. pour l'exemple on va prendre le double_click. Ainsi en faisant un doubleclic sur un item de ta listbox il va remplir le combobox, comme ceci :
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) 'j'utilise la feuille sélectionnée dans la listbox With Sheets(Me.ListBox1.Value) 'je met dans un tableau les cellules A1:A et dernière cellule utilisée tblcombo = .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row) End With With Me.ComboBox1 'je vide le combobox .Clear 'je remplis la combo avec le tbl ci-dessus .List = tblcombo End With End Sub
Dis mois si j'ai bien saisie, et adpate à tes besoins.
A+
rv83toulon
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
15
3 mars 2011 à 10:28
3 mars 2011 à 10:28
Bonjour,
cela sert à identifier le double clic. si double clic cancel retourne une valeur vrai et lance la macro. c'est une valeur standard.
cela sert à identifier le double clic. si double clic cancel retourne une valeur vrai et lance la macro. c'est une valeur standard.
Je n'ai pas de code, car je ne sais pas comment commençer cette manip' j'ai uniquement dans mon petit debut de programme la userform, les tableaux de données et les ligne de code permettant de mettre les différente feuilles dans une listbox.
Je cherche depuit hier mais je n'ai pas trouver de post ou tuto se rapprochant de ce que je veux faire, c'est pourquoi je pose la question sur ce forum.
Je cherche depuit hier mais je n'ai pas trouver de post ou tuto se rapprochant de ce que je veux faire, c'est pourquoi je pose la question sur ce forum.
ce n'est pas exactement sa mais si j'ai tout compris cela peu m'être d'une grande aide.
petites precisions :
- je suis obligé de faire une userform car je ne doit pas modifier les pages de données qui sont faite par un robot de dimensionnement de pièce.
- je ne doit pas avoir a appuyer sur un bouton pour faire ce que je vous demande car ce n'est que la partie "saisie de données" de mon programme les bouton seront réservés pour l'analyse des données
néamoin je vais fortement m'aider de ce que vous avez fait et je vous tiens au courant quand j'ai fini (j'ai bientôt débaucher se sera peu-être demain)
petites precisions :
- je suis obligé de faire une userform car je ne doit pas modifier les pages de données qui sont faite par un robot de dimensionnement de pièce.
- je ne doit pas avoir a appuyer sur un bouton pour faire ce que je vous demande car ce n'est que la partie "saisie de données" de mon programme les bouton seront réservés pour l'analyse des données
néamoin je vais fortement m'aider de ce que vous avez fait et je vous tiens au courant quand j'ai fini (j'ai bientôt débaucher se sera peu-être demain)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est bon sa marche! ;)
MERCI beaucoup rv83toulon il ma fallut juste faire deux modif minimes car les ligne du style ".clear" ne fonctionnaient pas et ce qu'il y avait entre parenthèses au debut de monctionnait pas non plus donc voici le code fini :
Private Sub ListBox1_Click()
'j'utilise la feuille sélectionnée dans la listbox
With Sheets(UserForm.frm_feuilles.ListBox1.Value)
'je met dans un tableau les cellules A1:A et dernière cellule utilisée
tblcombo = .Range("A5:A" & .Range("A" & Rows.Count).End(xlUp).Row)
End With
With UserForm.frm_debut.ComboBox1
'je vide le combobox
frm_debut.ComboBox1 = Clear
'je remplis la combo avec le tbl ci-dessus
frm_debut.ComboBox1.List = tblcombo
End With
End Sub
voilà maintenant il faut que je fasse des graphe avec les données compris entre ce que j'ai choisis dans les combobox1 et 2 (la 2 affichant les même données que la 1)
mais je vais essayer de m'arracher les cheveux avant de revenir demander votre aide ^^
Encore merci!
MERCI beaucoup rv83toulon il ma fallut juste faire deux modif minimes car les ligne du style ".clear" ne fonctionnaient pas et ce qu'il y avait entre parenthèses au debut de monctionnait pas non plus donc voici le code fini :
Private Sub ListBox1_Click()
'j'utilise la feuille sélectionnée dans la listbox
With Sheets(UserForm.frm_feuilles.ListBox1.Value)
'je met dans un tableau les cellules A1:A et dernière cellule utilisée
tblcombo = .Range("A5:A" & .Range("A" & Rows.Count).End(xlUp).Row)
End With
With UserForm.frm_debut.ComboBox1
'je vide le combobox
frm_debut.ComboBox1 = Clear
'je remplis la combo avec le tbl ci-dessus
frm_debut.ComboBox1.List = tblcombo
End With
End Sub
voilà maintenant il faut que je fasse des graphe avec les données compris entre ce que j'ai choisis dans les combobox1 et 2 (la 2 affichant les même données que la 1)
mais je vais essayer de m'arracher les cheveux avant de revenir demander votre aide ^^
Encore merci!
rv83toulon
Messages postés
68
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
25 avril 2013
15
3 mars 2011 à 10:31
3 mars 2011 à 10:31
Heureux d'avoir pu t'aider
Skeletyon
Messages postés
1552
Date d'inscription
jeudi 20 novembre 2008
Statut
Membre
Dernière intervention
30 décembre 2013
156
2 mars 2011 à 15:28
2 mars 2011 à 15:28
Bonjour,
Je pense avoir compris ce que vous souhaitez faire mais je ne vois pas ou vous péchez...
Récupérer des données d'excel n'est pas trop compliqué. Pour récupérer les infos sauf les cases vides, il suffit de faire une boucle qui recopie dans la combobox si la valeur de la case est != "", non?
Je pense avoir compris ce que vous souhaitez faire mais je ne vois pas ou vous péchez...
Récupérer des données d'excel n'est pas trop compliqué. Pour récupérer les infos sauf les cases vides, il suffit de faire une boucle qui recopie dans la combobox si la valeur de la case est != "", non?
récupérer des données d'exel et effectivement simple mais les récupérer en fonction du feuille qu'on a choisis dans une listbox et déjà plus compliqué (pour moi) (ps : les programmes que j'ai fais jusqu'à maintenant de part mes études n'étaient que des programmes scientifiques qui utilisaient le logiciel VB pour résoudre des équation etc... je n'ai jamais utilisé les macro exel donc faire le lien entre exel et VBA reste un peu compliqué pour moi.)
Krystan
Messages postés
36
Date d'inscription
mercredi 16 février 2011
Statut
Membre
Dernière intervention
17 mars 2011
10
2 mars 2011 à 16:00
2 mars 2011 à 16:00
Peux-tu mettre ton code actuel afin de voir ce qui fait défaut dans ton code ?