Hi,
A l'initialisation de l'USF, la liste est déterminée selon la valeur de la "Thématique"
Private Sub UserForm_Initialize()
Select Case Range("T_Crit").ListObject.DataBodyRange(1, 4)
Case "Désherbage"
Tbl = Feuil3.Range("Desherbage").ListObject.DataBodyRange.Value
Case "Gestion maladies"
Tbl = Feuil3.Range("maladie").ListObject.DataBodyRange.Value
Case "Gestion ravageurs"
Tbl = Feuil3.Range("ravageurs").ListObject.DataBodyRange.Value
Case "Variétés"
Tbl = Feuil3.Range("Variétés").ListObject.DataBodyRange.Value
End Select
Me.ListBox1.List = Tbl
Me.TextBox1.SetFocus
End Sub
Si je comprends bien, il suffirait de rajouter "implantation/conduite" juste après "Variétés", comme ceci :
...
Case "Variétés", "implantation/conduite"
Tbl = Feuil3.Range("Variétés").ListObject.DataBodyRange.Value
...
Et la ListBox serait chargée pas les mêmes valeurs que "Variétés".
S'il s'agit d'un nouveau Thème, il suffit d'adopter le même code, en rajoutant un "Case "implantation...", avec Tbl = le ListObject correspondant.
Quant aux recherches sur les "Boîtes", le fonctionnement est toujours nominal, sauf lors des essais. En effet, la classe "Buttons" (qui comprend tous les checkboxs "Boîte ...") est chargée lors de l'ouverture du fichier, et dès qu'une recherche est effectuée (afin de ne pas la perdre). Cependant, si on fait des essais dans le code, on perd cette classe, et le chk "Sélectionner tout" n'est plus actif. Il faut donc relancer le code "Init" du module 3 pour retrouver son fonctionnement. (pendant tes essais, tu peux rajouter un bouton n'importe où, en lui affectant cette macro "Init")
si j'ai bien compris....