[Excel] Afficher des colonnes via 1 listbox

Fermé
lionelfzs - 12 déc. 2008 à 15:35
Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 12 déc. 2008 à 22:14
Bonjour à tous,

J'ai une feuille de calcul d'une soixantaine de colonnes, et je souhaite que ne soient affichées que celles que je veux...et dont l'en-tête figurerait dans une listbox (ou qqch du mêem style).

Pour le moment, j'ai mis en en-tête de chaque colonne une checkbox, et associé une macro qui fait que si la checkbox est cochée, la colonne correspondante reste affichée sinon elle est masquée.

Mon code est le suivant :

Private Sub BoutonMasque_Click()
Dim Obj As OLEObject
Dim Col1 As Integer
Col1 = 2
For Each Obj In Sheets("Feuil1").OLEObjects
If TypeOf Obj.Object Is MSForms.CheckBox Then
If Obj.Object.Value = False Then
Obj.Object.Locked = False
'Obj.Object.Visible = False
N = Val(Right(Obj.Name, 2)) + Col1 - 1
Columns(N).Hidden = True
End If
End If
Next Obj
End Sub

J'ai aussi écrit une macro pour rétablir les colonnes masquées...jusqu'ici, tout va bien

Le problème est que ça implique de balayer tout le tableau colonne par colonne pour cocher la case et lancer ensuite la macro, voila pourquoi j'ai pensé à la listbox (ou qqch d'approchant).
Dans celle-ci, je mettrai les en-têtes de chaque colonne récupérées sur la feuille (ou rentrées manuellement si ce n'est pas faisable), et ensuite, je coche les lignes qui m'intéressent...et ce qui est coché alimente les checkbox en tête de chaque colonne (je ne sais pas si je suis bien clair).

Voila, si quelqu'un a une solution à me proposer, ça me sauverait !

Merci
A voir également:

1 réponse

Mike-31 Messages postés 18313 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 5 073
12 déc. 2008 à 22:14
salut,

Si tu mets une CheckBox sur chaque colonne ou pour chaque colonne sur ta feuille de calcul, pourquoi les associer à une macro, en mettant deux lignes dans le code CheckBox tu as un effet immédiat sur tes colonnes, regardes le fichier sur ce lien ensuite on pourra simplifier le code

https://www.cjoint.com/?mmwWqe1mAb

A+
0