VB, important
Résolu
charly
-
rv83toulon Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
rv83toulon Messages postés 68 Date d'inscription Statut Membre Dernière intervention -
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
- Vb express - Télécharger - Langages
7 réponses
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)
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+
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!
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.)