bonjour Vianey
la c'est autre chose je pense que tu a un petit conflit dans tes variables 'zone' et un problème d'initialisation de ta variable 'MonRange'
en effet
dans le module 'PubliqueVar' tu déclare une variable 'zone' publique et une variable 'MonRange' publique
Public MonRange As Range
Public zone As Range
dans le code de la feuille 'MAIN' Sub 'ListBox21_Change' tu déclare une variable 'zone' locale que tu initialise = 'MonRange'
Or à l'arrivée dans 'MAIN' Sub 'ListBox21_Change' la variable 'MonRange' n'est pas initialisée donc le plantage de la boucle for each est logique (aucune colonne à traité puisque rien dans 'zone')
Dim zone As Range
dans le module 'fonctions_Affichage' Sub 'affich_OUI' tu déclare une variable 'zone' locale
Dim zone As Range
PAPYG