Bonjour Sirkha, le forum,
Tu a écrit :
il suffit d'enregistrer une macro et il fait ce que tu fais
ça c'est à partir d'une feuille de calcul Excel, et en utilisant l'Enregistreur de macros ; mais pour ceux qui ont plus d'expérience en programmation VBA, c'est possible d'écrire directement un code VBA sans passer par l'Enregistreur de macros.
1) fais Alt F11 ➯ ça va sur la fenêtre « Microsoft Visual Basic », qu'on appelle aussi « Éditeur de code VBA »
2) fais Alt i m ➯ ça insère un module, dont la page blanche s'ouvre à droite ; c'est là qu'on écrit le code VBA ; et c'est là que tu peux copier / coller un code VBA pré-existant ; voici un exemple :
Sub Essai()
Columns("C").Hidden = True 'masque la colonne C
Columns(5).Hidden = True 'masque la colonne n° 5, donc la colonne E
Range("H:L").Columns.Hidden = True 'masque les colonnes H à L
End Sub
fais un copier / coller de ce code VBA sur la page blanche d'un module.
3) fais Alt F11 ➯ ça retourne sur Excel
4) fais Alt F8 ➯ fenêtre "Macro" ; la macro "Essai" est déjà sélectionnée dans la liste, et le bouton « Exécuter » est déjà présélectionné ; clique sur ce bouton, ou appuie sur la touche Entrée ➯ ça lance l'exécution de la macro "Essai" ; résultat : les colonnes C, E, et H à L ont été masquées ; c'est possible de coder le même travail de cette façon, en une seule instruction VBA :
Sub Essai()
Range("C:C, E:E, H:L").Columns.Hidden = True 'masque les colonnes C, E, et H à L
End Sub
tout c'que j'ai écrit dans ce post est valable pour toutes les versions d'Excel.
si tu veux ré-afficher ces mêmes colonnes par VBA, utilises ceci :
Sub Essai2()
Range("C:C, E:E, H:L").Columns.Hidden = False 'affiche les colonnes C, E, et H à L
End Sub
dhany