Limiter le scroll.

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

  1. Vérifie que tu enregistres ton fichier dans un format qui comprend des macros, .xls ne les enregistrera pas, il faut prendre .xlsm.
    0
    1. Oui, c'est bien enregistré en .xlsm
      J'ai déjà une macro sur ma feuille qui fonctionne parfaitement.
      0
      1. Contributeur
        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
        1. 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
      2. Contributeur
        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
        1. Re,

          Cela ne fonctionne malheureusement pas...
          0