Scroll Area sur feuille (01....à 12)

Bonjour à tous,

J'ai 25 feuilles au total.

Dans mon Projet 12 feuilles se nomme Feuil07(07), Feuil08(08) .....(pour les 12 mois)

J'ai Piquer cette macro à xorsankukai, merci à vous

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  Dim fl As Worksheet
     For Each fl In Worksheets
              fl.ScrollArea = "A1:S1270"
     Next fl
End Sub 

Elle fonctionne bien, mais pour toutes mes feuilles,

je souhaiterais Seulement les feuilles 07,08,09,10,11,12,01,02,03,04,05,06.

Je pense qu'il faudrait un >0 et ou <=12 Then

Ou je mets cette instruction ??

Merci à vous.

Bonjour Junot,

J'ai Piquer cette macro à xorsankukai

qui l' a certainement piquée ou adaptée également....

Je ne suis pas sur de comprendre:

  • Tu as 12 feuilles 01 à 12
  • Tu ne veux pas la macro sur les 12 feuilles mais sur les feuilles 07,08,09,10,11,12,01,02,03,04,05,06, sauf si j'ai la berlue, il y en a 12 mais dans un ordre différent,

Peux-tu clarifier ?

Cordialement,

Bonjour,

dans ce cas, ne pas mettre la macro dans les feuilles non concernées !

c'est quoi le but de cette macro ?

Bonjour Steelson,

Il me semble que ça définit la plage dans laquelle le défilement est permis...donc de A1 à S1270...et pas au delà...

Private Sub Workbook_Open()

Dim Fl As Worksheet

For Each Fl In ThisWorkbook.Sheets
  With Fl
    Select Case .Name
      Case "07", "08", "09", "10", "11", "12", "01", "02", "03", "04", "05", "06"
        .ScrollArea = "$A$1:$S$1270"
    End Select
  End With
Next Fl

End Sub

https://forum.excel-pratique.com/viewtopic.php?t=8246

Bonjour,

dans ce cas, ne pas mettre la macro dans les feuilles non concernées !

c'est quoi le but de cette macro ?

bonjour Steelson,

J'ai deux personnes qui se servent de cette application.

le but de la macro c'est d'interdire d'aller au delà de la colonne S et de la ligne 1270, pour les onglets qui se nomme Feuil07(07), Feuil08(08) ....Feuil09(09) , Feuil10(10), Feuil11(11), Feuil12(12), Feuil01(01), Feuil02(02), Feuil03(03),Feuil04(04), Feuil05(05),Feuil06(06).

Bonjour Steelson,

Il me semble que ça définit la plage dans laquelle le défilement est permis...donc de A1 à S1270...et pas au delà...

Private Sub Workbook_Open()

Dim Fl As Worksheet

For Each Fl In ThisWorkbook.Sheets
  With Fl
    Select Case .Name
      Case "07", "08", "09", "10", "11", "12", "01", "02", "03", "04", "05", "06"
        .ScrollArea = "$A$1:$S$1270"
    End Select
  End With
Next Fl

End Sub

https://forum.excel-pratique.com/viewtopic.php?t=8246

Bonjour xorsankukai,

Voilà c'est cela, je vais donc essayé et je reviens.

Merci à tous les deux.

Marie

Re à tous les deux,

en fait c'est simple pour vous, Select Case.Name, je ne connaissais pas.

Je prend ta version xorsankukai,

et merci encore.

Marie

Re,

Merci pour ton retour

Si tu n'as pas trop de feuilles à exclure , tu peux procéder ainsi:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

  Dim fl As Worksheet
     For Each fl In Worksheets

       If fl.Name <> "ESSAI" And fl.Name <> "TEST" Then   ' ESSAI et TEST étant les onglets à exclure de la macro
          fl.ScrollArea = "$A$1:$S$1270"
       End If
     Next fl
End Sub

Cordialement,

Re,

J'en ai de trop et ce serait plus long, pour spécifier le nom des autres feuilles,

je te remercie, mais la macro que tu viens de me donner,

VA TRES BIEN

Bises, a+

[quote="Junot (Marie)"]Bises, a+[/quote]

screen

xorsankukai a rougi sous son masque ! normal, c'est pa'c'que Marie lui a fait la bise !

dhany

Bonsoir,

si la position des feuilles ne change pas dans le classeur alors un code comme celui-ci (je parts du principe que les feuilles sont en position 1 à 12 dans le classeur) :

For I=1 to 12
 Sheets(I).ScrollArea = "$A$1:$S$1270"
Next I

pourrait suffire à faire ce que vous cherchiez à faire.

Et là même si les feuilles changent de nom cela marchera.

Et si leur position change, alors vous pouvez faire un code qui prend en compte le nom "VBA" des feuilles, qui lui ne change pas même si l'onglet est renommé.

@ bientôt

LouReeD

Bonsoir

et moi je préfère par les codename a voir

Private Sub Workbook_Open()
Dim Feuil As Object
    For Each Feuil In ThisWorkbook.Sheets
        With Feuil
            Select Case .Name
              Case Feuil5.Name, Feuil6.Name
                ' exclure par codeName
              Case Else
                .ScrollArea = "$A$1:$S$1270"
            End Select
        End With
    Next Feuil
End Sub

A+

Maurice

Bonsoir archer !

Voilà ce que je voulais dire par :"Et si leur position change, alors vous pouvez faire un code qui prend en compte le nom "VBA" des feuilles, qui lui ne change pas même si l'onglet est renommé."

Le CodeName, c'est ce nom qui m'échappais !

codename

Ici on voit le nom de l'onglet "LouReeD" et le CodeName "Feuil1" c'est le nom que VBA donne à la feuille automatiquement.

Ce nom peut être modifié par la propriété "Name" de la feuille, mais il ne peut être changé par l'utilisateur et il est valable quelque soit la modification de l'emplacement de l'onglet dans le classeur.

Merci archer pour cette piqure de rappel !

@ bientôt

LouReeD

Bonsoir

merci LouReeD

A+

Maurice

Bonjour,

Est ce que tes yeux sont identique au Masque ???

Bonjour,

Est ce que tes yeux sont identique au Masque ???

Bonjour LouReeD, archer,

Je viens seulement de voir vos messages.

Merci de vos réponses.

Je teste tout !!!!!

Bon dimanche à tous.

junot

Bonjour

évite de renommer les CodeName

A+

Maurice

re archer,

et je fais comment ??

Re maurice,

Je viens de suivre ton conseil, en fait ta macro, toutes mes feuilles sont en ScrollArea (A1;S1270)

sauf la Feuil5 et la Feuil6.

Dim Feuil As Object
    For Each Feuil In ThisWorkbook.Sheets
        With Feuil
            Select Case .Name
              Case Feuil5.Name, Feuil6.Name
                ' exclure par codeName
              Case Else
                .ScrollArea = "$A$1:$S$1270"
            End Select
        End With         

Donc il faut que mon code soit :

Case Feuil20.Name, Feuil21.Name  ...... Feuil 30  etc.. pour finir avec la feuille 51.

C'est ce que tu veux dire ? Pas drôle

Bon dimanche, Marie

Rechercher des sujets similaires à "scroll area feuille"