J'utilise le code suivant pour limiter la sélection à une plage de cellules "B4:B10" sur la feuille1
Code:
Sub blocage()
ActiveSheet.Range("B4:B10").Select
ActiveSheet.ScrollArea = Selection.Address
End Sub
Le code suivant permet d'enlever cette "limitation" :
Code:
Sub déblocage()
ActiveSheet.ScrollArea = ""
End Sub
Lorsque j'utilise ce code pour enlever la limitation avec un bouton macro celà fonctionne bien.
Mais je souhaite que cette macro se déclenche en changeant de feuille du classeur.
Pour celà j'utilise la macro évènementielle suivante :
Code:
Private Sub Worksheet_Deactivate()
ActiveSheet.ScrollArea = ""
End Sub
Or je ne sais pas pourquoi mais la macro ne se déclenche pas en changeant de feuille (et donc, après avoir selectionné la feuille2, quand je retourne sur la feuille1 la sélection des cellules reste limitée à la plage B4:B10).
Re : Macro qui ne fonctionne pas en changeant de feuille
Bonjour Gourdin, Bonjour le forum,
Je pense que le problème vient de l'utilisation d' "Activesheet", quand l'évènement "Worksheet_Deactivate" de la feuille2 est exécuté, la feuille 1 n'est pas encore active et donc la commande "scrollarea" s'applique sur la feuille 2.
Voir fichier joint; j'utilise le nom de la feuille pour appliquer la commande "scrollarea" sur la feuille1:
Code:
Private Sub Worksheet_Deactivate()
Worksheets("Feuille1").ScrollArea = ""
End Sub
Simplification pour la Sub Blocage:
Code:
Sub blocage()
ActiveSheet.ScrollArea = Range("B4:B10").Address
End Sub