Limiter le scroll.

nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   -  
nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterai limiter le scroll sur les feuilles de mon classeur à la plage A1:BH38

J'ai essayé plusieurs choses :

- Quand j'ouvre le VBA de la feuille, dans les propriétés de la feuille, je définis ScrollArea par A1:BH38. Cela fonctionne aussitôt mais j'ai beau enregistré mon fichier, quand je le ferme l'ouvre à nouveau, les propriétés du ScrollAerA sont à nouveau effacées.

- J'ai aussi essayé de coller des codes VBA que j'avais trouvé :

Private Sub Worksheet_Activate()
ActiveSheet.ScrollArea = "$A$1:$BH$38"
End Sub

OU

Private Sub Workbook_Open()
Dim Feuille As Worksheet
For Each Feuille In ThisWorkbook.Sheets
Feuille .ScrollArea = "$A$1:$BH$38"
Next Feuille
End Sub

Mais cela ne fonctionne pas...

Auriez-vous une solution s'il vous plait ?
merci pour votre aide.


4 réponses

Krucksy Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   4
 
Vérifie que tu enregistres ton fichier dans un format qui comprend des macros, .xls ne les enregistrera pas, il faut prendre .xlsm.
0
nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   35
 
Oui, c'est bien enregistré en .xlsm
J'ai déjà une macro sur ma feuille qui fonctionne parfaitement.
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

je viens d'essayer le code ci dessous et qui fonctionne
Option Explicit
'---------------------------
Private Sub Workbook_Open()
Dim Feuille As Worksheet, cptr As Byte
For cptr = 1 To WorkSheets.Count
Workheets(cptr).ScrollArea = "$A$1:$BH$38"
Next
End Sub


Ton autre méthode
Private Sub Worksheet_Activate()
ActiveSheet.ScrollArea = "$A$1:$BH$38"
End Sub

Fonctionne chez moi mais je préfère la premiere


 Michel
0
nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   35
 
Bonjour Michel,

Merci pour ta réponse mais je ne comprends pas aucun de ces codes ne fonctionne chez moi, mais je n'y connais pas grand chose en VBA et je colle peut-être ce code au mauvais endroit : quand je suis sur ma feuille, je fais clique droit sur l'onglet => Visualiser le code =>et là je copie le code sur la boite de dialogue qu'il y a au milieu de la page qui s'ouvre (c'est à cet endroit que j'ai le code de ma première macro qui elle fonctionne parfaitement).

Est-ce que je le colle bien au bon endroit ou est-ce que je dois le coller ailleurs ?
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Re

"scrollarea s'étein"t à la fermeture du classeur; Mais avec tes macros, les scrolls sont réactivées automatiquement par les codes, donc..

pour la macro wokbookopen, tu vas dans l'éditeur VBA par ALT+ F9

puis


toutes tes feuilles ont automatiquement leur scrollarea d'activées

apparemment pour ton pb la macro workbookopen est suffisante ; les workshets_activaye sont inutiles ;o)


 Michel
0
nemotri Messages postés 175 Date d'inscription   Statut Membre Dernière intervention   35
 
Re,

Cela ne fonctionne malheureusement pas...
0