XL 2010 Sélectionner une ou plusieurs cellules après avoir coché un ou plusieurs checkbox

djedjeto

XLDnaute Junior
Salut cher frère. je suis nouveau dans l'utilisation des codes vba. j'ai un problème mais j'arrive pas à trouver solution. si quelqu'un peut m'aider c'est un devoir à remettre. En fait, j'ai un userform qui comporte 36 checkbox nommé checkbox_1 à checkbox_36 et une base de données excel dont les entêtes font aussi 36 ; Je voudrais qu'à chaque fois que je coche un ou plusieurs checkbox de l'userform de façon aléatoire, les cellules correspondante (A1,B1.....AJ1) qui sont des entêtes soient sélectionnées suivant le nombre de checkbox coché. aidez moi . merci
 
Solution
Est-ce que tu parles de cette instruction en dépassement de capacité ?
VB:
DernièreLigne = ThisWorkbook.Worksheets(FeuilleTableau).Columns(Me.ComboBox1.ListIndex + 1).EntireColumn _
                             .Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Je ne comprends pas pourquoi.
Ça peut planter si la colonne est vide mais pas en dépassement de capacité. La colonne n'est jamais vide puisqu'il y a les titres. J'ai quand même protégé par principe.

D'autre part cette instruction qui était en commentaire n'était pas 100% correct car ne prenant pas en compte un éventuel décalage du tableau dans la feuille.

A moins que tu aies plus de 32767 valeurs en colonne. J'ai modifié les indices Integer en Long.

djedjeto

XLDnaute Junior
cher Dudu2. c'est le retour. j'ai encore un souci et je m'excuse vraiment pour le dérangement. c'est la suite de l'exercice. en fait il y deux combobox qu'on veut relier mais le premier doit contenir les entêtes de colonnes et le second devra être lié au premier telque à chaque fois qu'on sélectionne une valeur du premier combobox contenant les entêtes, le seconde puisse lister les valeurs sous l'entête correspondante sans doublons
 

Pièces jointes

  • monexercice.xlsm
    22.4 KB · Affichages: 13

Dudu2

XLDnaute Barbatruc
Des ComboBox dans le nouveau Classeur ? Ou dans le classeur d'origine ?
Ça va être difficile de créer dynamiquement des ComboBoxes et leurs codes dans un nouveau classeur.
Si c'est un exercice, ça m'étonnerait que cela aille jusqu'à faire ce genre de manip qui relève d'une pratique très avancée du VBA.
Dans ce cas, plutôt de créer un nouveau classeur, il vaudrait mieux copier les colonnes sélectionnées dans un classeur existant dont on connaîtrait le nom et contenant déjà les ComboBoxes et le code.
Ces ComboBoxes, elles sont dans un UserForm ou directement dans la feuille ?
Que fait-on d'une sélection dans la ComboBox qui contient les valeurs de la colonne choisie dans la 1ère ComboBox ?
 

djedjeto

XLDnaute Junior
cher Dudu2. c'est le retour. j'ai encore un souci et je m'excuse vraiment pour le dérangement. c'est la suite de l'exercice. en fait il y deux combobox qu'on veut relier mais le premier doit contenir les entêtes de colonnes et le second devra être lié au premier telque à chaque fois qu'on sélectionne une valeur du premier combobox contenant les entêtes, le seconde puisse lister les valeurs sous l'entête correspondante sans doublons
non les combobox sont déja dans le formulaire et à l'ouverture du formulaire le premier puisse contenir les entetes de colonne et l
Des ComboBox dans le nouveau Classeur ? Ou dans le classeur d'origine ?
Ça va être difficile de créer dynamiquement des ComboBoxes et leurs codes dans un nouveau classeur.
Si c'est un exercice, ça m'étonnerait que cela aille jusqu'à faire ce genre de manip qui relève d'une pratique très avancée du VBA.
Dans ce cas, plutôt de créer un nouveau classeur, il vaudrait mieux copier les colonnes sélectionnées dans un classeur existant dont on connaîtrait le nom et contenant déjà les ComboBoxes et le code.
Ces ComboBoxes, elles sont dans un UserForm ou directement dans la feuille ?
Que fait-on d'une sélection dans la ComboBox qui contient les valeurs de la colonne choisie dans la 1ère ComboBox ?
non les combobox sont déja dans le formulaire et à l'ouverture du formulaire le premier puisse contenir les entetes de colonne et le second puisse lister les valeurs sous l'entête correspondante sans doublons. les données étant contenue dans la feuille 1. a chaque fois qu'on changera la valeur du premier combobox que le second renseigne sur le contenu de la colonne correspondante sans doublon
 

Pièces jointes

  • monexercice.xlsm
    22.4 KB · Affichages: 6
Dernière édition:

Dudu2

XLDnaute Barbatruc
Ok. Sans doublons. Ça veut dire qu'il va falloir de préférence trier les valeurs pour faciliter l'élimination des doublons. Est-ce que ça pose un problème de présenter les valeurs de la colonne triées dans la 2ème ComboBox ?

D'autre part, est-ce qu'il s'agit juste de charger la comboBox des valeurs de la colonne ou bien est-ce qu'il y a une action sur la sélection d'une de ces valeurs dans la ComboBox ?
 

djedjeto

XLDnaute Junior
Ok. Sans doublons. Ça veut dire qu'il va falloir de préférence trier les valeurs pour faciliter l'élimination des doublons. Est-ce que ça pose un problème de présenter les valeurs de la colonne triées dans la 2ème ComboBox ?

D'autre part, est-ce qu'il s'agit juste de charger la comboBox des valeurs de la colonne ou bien est-ce qu'il y a une action sur la sélection d'une de ces valeurs dans la ComboBox ?
il s'agit de charger les deux combobox qui lors de leur selection permettra de filtrer les lignes de la base excel suivant la valeur selectionnée dans le second combobox et procéder ensuite a l'exportation comme on l'avait fait. quand je cherche a charger le second combobox je constate que c'est toutes les données de la colonne qui se charge avec des doublons
 

Dudu2

XLDnaute Barbatruc
Je ne comprends plus rien à ce que tu dis.

Il y a 2 choses distinctes et indépendantes:
- les ComboBoxes
- l'Exportation qui dépend uniquement des CheckBoxes
Vrai ou faux ? Si faux en quoi les ComboBoxes et l'exporation sont liés ?

La 2ème question est: l'exportation doit-elle ou non supprimer les doublons des colonnes sélectionnées avec les CheckBoxes ?
 
Dernière édition:

djedjeto

XLDnaute Junior
Je ne comprends plus rien à ce que tu dis.

Il y a 2 choses distinctes et indépendantes:
- les ComboBoxes
- l'Exportation qui dépend uniquement des CheckBoxes
Vrai ou faux ? Si faux en quoi les ComboBoxes et l'exporation sont liés ?

La 2ème question est: l'exportation doit-elle ou non supprimer les doublons des colonnes sélectionnées avec les CheckBoxes ?
vrai. il y a les combobox et l'exportation. en premier lieu, il faudra charger les deux combobox. mais apres avoir fait cela l'exportation va dependre du second combobox. Pour une valeur selectionnée dans le second combobox , cela permettra de filtrer les ligne de la base excel suivant cette valeur et ensuite avec les checkbox on décidera des colonnes nécessaires mais pas la totalité à exporter une une autre feuille
 

Dudu2

XLDnaute Barbatruc
Si tu as un énoncé de cet exercice, franchement je préfèrerais avoir l'énoncé directement plutôt que sa ré-écriture selon tes termes. Surtout par petits bouts.

Tout ça aurait déjà dû être exprimé au début, parce que là il faut revoir et modifier ce qui a déjà été développé et ce n'est pas très cool.

Scénario:
Dans la ComboBox1 je sélectionne INTITULE_PROJET.
Dans la Combobox2 s'affiche la liste des valeurs de cette colonne sans les doublons
Dans la ComboBox2 je sélectionne la valeur "aaaaaaaa" qui est présente en ligne 2, 3 et 12 (c'est un doublon)
Ensuite ? Que se passes-t-il ?
Qu'est-ce que tu veux dire par "filtrer les ligne de la base excel suivant cette valeur" ? C'est quoi "filtrer" ?
Est-ce que ça veut dire qu'on ne va exporter que les lignes 2, 3 et 12 de toutes les colonnes sélectionnées en CheckBoxes ?
S'il n'y avait qu'une seule ligne (pas doublon), la 2 par exemple, on exporterait que cette seule ligne 2 de toutes les colonnes sélectionnées en CheckBoxes ?
 

djedjeto

XLDnaute Junior
Si tu as un énoncé de cet exercice, franchement je préfèrerais avoir l'énoncé directement plutôt que sa ré-écriture selon tes termes. Surtout par petits bouts.

Tout ça aurait déjà dû être exprimé au début, parce que là il faut revoir et modifier ce qui a déjà été développé et ce n'est pas très cool.

Scénario:
Dans la ComboBox1 je sélectionne INTITULE_PROJET.
Dans la Combobox2 s'affiche la liste des valeurs de cette colonne sans les doublons
Dans la ComboBox2 je sélectionne la valeur "aaaaaaaa" qui est présente en ligne 2, 3 et 12 (c'est un doublon)
Ensuite ? Que se passes-t-il ?
Qu'est-ce que tu veux dire par "filtrer les ligne de la base excel suivant cette valeur" ? C'est quoi "filtrer" ?
Est-ce que ça veut dire qu'on ne va exporter que les lignes 2, 3 et 12 de toutes les colonnes sélectionnées en CheckBoxes ?
S'il n'y avait qu'une seule ligne (pas doublon), la 2 par exemple, on exporterait que cette seule ligne 2 de toutes les colonnes sélectionnées en CheckBoxes ?

je m'excuse vraiment. oui c'est exactement ce que je veux. s'il y a une seule on exportera la seule ligne et s'il en a plusieurs on les exportera toutes. mais pas toutes les colonnes . les colonnes à exporter selon choisies au niveau des checkboxs
 

patricktoulon

XLDnaute Barbatruc
bonjour
n'ayant pas vu de doublons dans tes deux listes
tout simplement
la combo2 se rempli selon l’entête choisi dans combo1
VB:
Private Sub ComboBox1_Change()
ComboBox2.List = Range(Cells(2, ComboBox1.ListIndex + 1), Cells(Rows.Count, ComboBox1.ListIndex + 1).End(xlUp)).Value
End Sub
Private Sub UserForm_Activate()
ComboBox1.List = Application.Transpose(Feuil1.Cells(1, 1).Resize(1, Feuil1.Cells(1, Columns.Count).End(xlToLeft).Column - 1).Value)
End Sub
 

djedjeto

XLDnaute Junior
bonjour
n'ayant pas vu de doublons dans tes deux listes
tout simplement
la combo2 se rempli selon l’entête choisi dans combo1
VB:
Private Sub ComboBox1_Change()
ComboBox2.List = Range(Cells(2, ComboBox1.ListIndex + 1), Cells(Rows.Count, ComboBox1.ListIndex + 1).End(xlUp)).Value
End Sub
Private Sub UserForm_Activate()
ComboBox1.List = Application.Transpose(Feuil1.Cells(1, 1).Resize(1, Feuil1.Cells(1, Columns.Count).End(xlToLeft).Column - 1).Value)
End Sub
MERCI. Mais quand je selectionne Partenaire_Principale dans la combobox1, les valeurs dans le second combobox s'affiche mais il y a des doublons
 

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote