Propriété ScrollArea pour une feuille à l'ouverture d'un classeur

S

Scalpa

Guest
Bonjour à tous et toutes !

Est-il possible à l'ouverture d'un classeur que la propriété ScrollArea sur la Feuil1 reste bloqué à $A$1:$L35$ par exemple ?

Ca bloque quand le classeur est ouvert mais quand on le ferme et on le rouvre la feuille redevient comme avant et on peut faire défiler les lignes.

Si quelqu'un a une solution par macro ou VBA !

Merci

Scalpa
 
V

Vériland

Guest
Bonjour Scalpa et toi le forum,

A placer dans ThisWorkboock...

Private Sub workbook_open()
Feuil1.ScrollArea = "A1:L35"
End Sub


Cette procédure va figer la zone "A1:L35" sur la feuille1 dès l'ouverture du prog...il n'y a pas d'alternative puisque pour annuler cette zone il te faudra d'une part désactiver la procédure et d'autre part réouvrir le classeur...sans activer les macros...

Une manière un peu plus souple consiste à mon avis à placer la même procédure mais dans Feuil1...de cette façon...

Private Sub Worksheet_Activate()
ScrollArea = "A1:L35"
End Sub


ainsi cette zone sera activée dès que la Feuil1 est ouverte...cette façon de faire te permettra d'apporter des modifications durant la programmation sans avoir à réouvrir le classeur...juste en modifiant les paramètres...

Enfin un troisième point, consistera à un zoom écran sur cette zone...pour que la fenêtre s'adapte aux différentes configurations écran...

mais comme cela ne fait pas partie de la question je ne développe pas...lol

A+Veriland.gif


PS : Macro à copier depuis le forum auquel cas tu risques d'avoir les attributs gras du post dedans...
 
S

Scalpa

Guest
Salut Vériland !

Merci ! Je conserve la première solution qui fonctionne très bien ! quant à la deuxième je l'avais essayée et ça ne marche pas, ou alors je ne sais pas m'y prendre !

Enfin ! La première me suffit, c'est exactement ce que je voulais !

@+++

Scalpa
 
V

Vériland

Guest
Re...

Ben si...la deuxième fonctionne tout aussi bien...en fait elle ne s'enclenche qu'à partir du moment où la feuille est activée mais pas forcément à l'ouverture du fichier...puisque chaque fichier s'ouvre sur la première feuille

Je m'explique...par exemple tu places cette procédure sur Feuil1

Private Sub Worksheet_Activate()
ScrollArea = "A1:L35"
End Sub


ensuite depuis excel tu actives l'onglet Feuil2 puis tu reviens à Feuil1...tu verras le résultat...la Feuil1 est bien figée sur la zone A1:L35 à ce moment...

je disais tout à l'heure que c'était plus souple puisqu'à tout moment tu peux définir une nouvelle Zone avec ce principe...mais pas depuis ThisWorkboock puisque la zone est définie une fois pour tout...

Enfin...c'est juste pour expliquer...après chacun fait c'qu'il veut avec son Excel...lol

Bonne programmation

A+Veriland.gif
 

Discussions similaires

Réponses
3
Affichages
277

Statistiques des forums

Discussions
312 674
Messages
2 090 788
Membres
104 665
dernier inscrit
ronbt