DernièreLigne = ThisWorkbook.Worksheets(FeuilleTableau).Columns(Me.ComboBox1.ListIndex + 1).EntireColumn _
.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
Voilà...
merci infiniment Dudu2. tu m'as sauvé. c'est exactement ce que je voulais depuis des jours. merci soit bénieVoilà...
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 lcher 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 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 doublonDes 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 ?
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 doublonsOk. 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 ?
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 feuilleJe 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 ?
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 ?
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 doublonsbonjour
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