• Initiateur de la discussion Initiateur de la discussion Edouard
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

Edouard

Guest
Bonjour le forum

J’ai besoin d’une macro qui soit capable dans un classeur de 6 feuilles, d’écrire en en tête de page partie centrale « Coupe formation Niv4 » en partie gauche « la valeur de la cellule H20 de la feuille 1 » en partie droite « la valeur de la cellule H21 de la feuille 1».
Cela sur les feuilles 3 ; 4 ; 5 ; et rien sur les feuilles 1 ; 2 ; 6.

Merci d’avance à celui qui pourra me dépanner ; Tout ce que je me doute c’est que cette macro doit placer dans le Workbook.
 
Bonjour !

Le code suivant devrait t'aider dans la réalisation de ton "projet".
Il suffit de l'insérer dans VBA (Alt+F11 puis coller) avant de placer un bouton sur le classeur pour la lancer par exemple...

Sub Mettre_Entete

'on sélectionne les feuilles voulues (je rentre ici les noms en dur, on peut faire mieux)
Sheets(Array("Feuil3", "Feuil4", "Feuil5"))Select

With ActiveSheet.PageSetup

'en tete en haut à gauche (arial 11) --> exemple
.LeftHeader = "&""Arial,Regular""&11"&ThisWorkbook.Sheets(1).Range("H20").Value

'au centre (arial gras 12) --> exemple
.CenterHeader = "&""Arial,Bold""&12Coupe formation Niv4"

'et à droite
.RightHeader = "&""Arial,Regular""&11"&ThisWorkbook.Sheets(1).Range("H21").Value

End With


End Sub


Bon courage !

Clément

"S'il n'y a pas de solution, c'est qu'il n'y a pas de problème."
 
Bonjour Clément et merci

J’ai un souci avec ton code, au moment du lancement j’ai un message « erreur de compilation » sur la ligne de désignation des feuilles ;
Qu’elle instruction rajouter pour que cette macro s’exécute au lancement de l’aperçu avant impression ?
À+
 
Re,

déjà, il y a une erreur dans mon code...
Lire (avec un point c'est mieux) :

Sheets(Array("Feuil3", "Feuil4", "Feuil5")).Select

Attention à remplacer Feuil3 par le nom de la feuille n°3 du classeur etc...
Sinon, pour éxécuter avant un aperçu avant impression, je dois avouer que je ne sais pas... :0(
J'ai une solution mais elle concerne l'éxécution avant l'impression...
Sous VBA, insérer dans le module ThisWorkbook les lignes suivantes :

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Call Mettre_Entete

End Sub

Désolé et bon courage !

Clément

"S'il n'y a pas de solution, c'est qu'il n'y a pas de problème."
 
Re-,

voici le même classeur mais avec une version "corrigée".
Ne pas oublier de mettre comme sur l'exemple les valeurs des en-têtes sur les cellules H20 et H21 de la feuille 1.
La macro s'éxécute automatiquement avant l'impression.

A disposition pour plus d'informations !

Clément
 

Pièces jointes

Bonjour clément

Et merci de suivre mon Pb

La macro fonctionne mieux mais l’inconvénient maintenant, c’est que quelle que soit la feuille active pour laquelle on demande un aperçu avant impression on aboutit toujours sur la feuille 5.

À+
 
Ok Clément
Ça marche

Tu vas dire que je suis exigeant, mais l’expérience m’a prouvé qu’il vaut mieux prévoir les évolutions.
Y a-t-il un moyen simple de construire la macro pour prévoir ces évolutions ?

Exemple : la Feuil1 est nommée Date avec entête
Feuil2 Accueil sans entête
Feuil3 Notice sans entête
Feuil4 Semaine avec entête
Feuil6 Mois avec entête
Feuil7 (nouvelle) Bilan avec entête
Feuil8 (nouvelle) Table sans entête

La présentation serait identique (gauche-centre-doite pour les entêtes) on spécialise la présentation des feuilles.
À+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
291
  • Question Question
XL 2019 B
Réponses
10
Affichages
438
Réponses
4
Affichages
208
Réponses
7
Affichages
321
Retour