pagesetup sur certaine feuilles pas tous

zaid

XLDnaute Nouveau
Bonjour le Forum,

j'ai fais une macro pour mettre l'entete de page sur certaines feuilles, sauf que l'entete est modifés sur toutes les feuilles. j'utilise :

Dim Ws As Worksheet 'Déclare la variable Ws

Application.ScreenUpdating = False 'Désactivation de la mise à jour de l'écran
For Each Ws In Worksheets ' Pour chaque feuille dans le Fichier

je voudrais savoir si on peut utiliser :

For each Ws in ARRAY

et comment le faire pour specifier les feuilles à modifier exemple : feuil7,feuil8,feuil11,feuil17

Merci pour vos suggestion
 

Caillou

XLDnaute Impliqué
Re : pagesetup sur certaine feuilles pas tous

Bonjour,

En utilisant l'enregistreur de macros (tout simplement), on obtient :
Code:
    Sheets(Array("Feuil1", "Feuil2", "Feuil3", "Feuil5", "Feuil8")).Select
    Sheets("Feuil1").Activate
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
       ......
    End With

Caillou
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : pagesetup sur certaine feuilles pas tous

Bonjour Zaid, bonjour le forum,

Essaie comme ça :

Code:
For Each ws In Sheets(Array("Feuil7", "Feuil8", "Feuil11", "Feuil17"))
[Édition]
Bonjour Caillou on s'est crioisé...
 

zaid

XLDnaute Nouveau
Re : pagesetup sur certaine feuilles pas tous

Bonjour Robert,

ça me donne erreur d'excecution 9
l'indice n'appartient pas à la selection

ci-dessous le code que j'utilise:
Sub EntetePiedPage()
Dim Ws As Worksheet 'Déclare la variable Ws

Application.ScreenUpdating = False 'Désactivation de la mise à jour de l'écran
'For Each Ws In Worksheets ' Pour chaque feuille dans le Fichier
For Each Ws In Sheets(Array("Feuil7", "Feuil8", "Feuil9", "Feuil10", "Feui11", "Feui12", "Feuil13", "Feui14", "Feui15", "Feuil16", "Feuil17", "Feuil18"))

If Ws.Name <> "Feuil5" Then ' Si le nom de la Feuille n'est pas "Feuil1"
With Ws.PageSetup
.LeftHeader = Sheets("Paramètres").Range("E1").Value & Chr(13) & Sheets("Paramètres").Range("E2").Value & Chr(13) & Sheets("Paramètres").Range("E3").Value 'Haut Gauche = Valeur feuil1 A1
'.CenterHeader = "&D" & Chr(13) & "&P" & "&page" ' Haut Centre= Valeur feuil1 A2
.RightHeader = Sheets("Paramètres").Range("E6").Value & Chr(13) & Sheets("Paramètres").Range("E7").Value & Chr(13) & Sheets("Paramètres").Range("E8").Value '"&D" ' Centre Haut Droit = Page
'.RightFooter = "&P" 'Pied Droit = Date du Jour
End With
End If
Application.ScreenUpdating = True 'Réactivation de la mise à jour de l'écran
Next Ws
End Sub

Merci beaucoup
 

zaid

XLDnaute Nouveau
Re : pagesetup sur certaine feuilles pas tous

Bonjour Robert, DoubleZero, le forum,

En fait ça marche, je n'avais pas mis les bons noms de feuilles c'est pour cela que j'avais le probleme d'indice.

Merci à vous tous.

je profite de l'occasion, est ce qu'on peut excecuter cette macro à partir d'un autre fichier excel, sachant que le fichier qui contient la macro est fermé?

Meilleures salutations
 

DoubleZero

XLDnaute Barbatruc
Re : pagesetup sur certaine feuilles pas tous

Re-bonjour,

... est ce qu'on peut excecuter cette macro à partir d'un autre fichier excel, sachant que le fichier qui contient la macro est fermé?...

J'en doute :confused: ... Mais avec les virtuoses :D présents sur XLD, sait-on jamais !

S'il s'agit, toutefois, d'utiliser cette macros pour d'autres fichiers construits de la même façon que le fichier fermé, le code peut être placé dans les macros personnelles.

A bientôt :)
 

Discussions similaires

Réponses
7
Affichages
329
Réponses
1
Affichages
169