J'ai appris sur plusieurs Fils et documents que la commande "ThisComponent.LockControllers" permet de figer l'affichage écran pendant l'exécution d'une procédure.
Cela fait deux ou trois fois que j'essaye de l'utiliser mais sans obtenir le moindre effet.
Par exemple : j'utilise une liste de cases à cocher qui permet de décider si on veut ou non afficher chaque colonne. Les cellules liées sont sur la feuille "P" et affichent "Vrai" ou "Faux". Quand on valide son choix on lance via un bouton la procédure AMCol qui exécute le travail.
J'aimerais que l'utilisateur n'assiste pas à la "valse" des colonnes, sans compter l'incidence sur le temps d'exécution, j'ai donc placé LockControllers et UnLockControllers en début et fin de mon code mais ça n'a aucun effet (même pas un message d'erreur), on voit bien les colonnes disparaitre une par une.
Est-ce qu'il y aurait des pré-requis ou des limites à l'utilisation de cette fonction
Code : Tout sélectionner
Sub AMCol2
ThisComponent.LockControllers
For C = 0 to 19
If ThisComponent.Sheets.getByName("P").getCellbyposition(C,1).value = VRAI then
ThisComponent.Sheets.getByName("E").Columns(C).isVisible = True
Else
ThisComponent.Sheets.getByName("E").Columns(C).isVisible = False
End If
Next
ThisComponent.UnLockControllers
End Sub