OVH Cloud OVH Cloud

Entête identique pour plusieurs fichiers

8 réponses
Avatar
lexchris
Bonjour,

J'aimerai appliquer à plusieurs fichiers et plusieurs onglets une même entête qui serait sur un autre fichiers EXCELS.

J'ai cherché plusieurs astuces mais cela ne marche pas.

Donc j'ai plusieurs fichiers.
Pt de vente 1
Pt de vente 2
...

et un autre avec les informations que j'aimerais imprimer en entête sur tous les onglets de ces fichiers.

Ces fichiers se trouvent tous dans le même dossier qui sera dupliqué par la suite.

Merci de votre aide

8 réponses

Avatar
LSteph
Bonjour,

Mets toi sur la feuille dont la mise en page comprend les entête et pieds de
page souhaités.
Enregistre une macro Choisis pour tous le classeurs (cela ira dans ton
classeur de macros personnelles)
Effectue Mise en page sans rien changer et tu Valides
Arrêter la macro

Tu pourras ainsi répéter cette macro sur d'autres feuilles.

Cordialement.

--
LSteph


"lexchris" a écrit dans le message
de news:
Bonjour,

J'aimerai appliquer à plusieurs fichiers et plusieurs onglets une même
entête
qui serait sur un autre fichiers EXCELS.

J'ai cherché plusieurs astuces mais cela ne marche pas.

Donc j'ai plusieurs fichiers.
Pt de vente 1
Pt de vente 2
..

et un autre avec les informations que j'aimerais imprimer en entête sur
tous les
onglets de ces fichiers.

Ces fichiers se trouvent tous dans le même dossier qui sera dupliqué par
la
suite.

Merci de votre aide
Avatar
MichD
Bonjour,


Suppose que tu veux copier la mise en page (Print settings)
de la FeuilA du classeurA vers la FeuilB du ClasseurB.

A ) Tu copies la FeuilA vers le ClasseurB

B ) Dans le ClasseurB, tu sélectionnes D'ABORD la FeuilA que
tu viens de copier et en maintenant la touche Ctrl enfoncée
tu choisis les autres feuilles du classeur où tu veux copier
la mise en page.

C ) À partir du menu "Mise en page" du ruban (Excel 2007 et 2010)
dans la section : "Mise en page", tu cliques sur le tout petit
carré dans le coin inférieur droit de la section et la fenêtre
"Mise en page s'ouvre". Tu fermes la fenêtre en cliquant sur
le bouton "OK" et voilà, toutes les feuilles qui étaient sélectionnées
ont maintenant la même mise en page.

D ) Dernière étape, tu annules la sélection multiple des feuilles en
sélectionnant
une feuille en particulier.

E ) Rien ne t'empêche de supprimer la FeuilA du classeurB.

En conclusion, une façon plus générique d'effectuer ce travail serait de
créer une
Feuille modèle dotée de la mise en page désirée.
Tu enregistres une copie du modèle dans ce répertoire :
C:UsersMichDAppDataRoamingMicrosoftTemplates

Maintenant pour ajouter cette feuille à un classeur, tu fais un clic droit
sur l'onglet d'une des feuilles du classeur, menu "Insérer" et dans la
fenêtre ouvrante tu sélectionnes ladite feuille module de mise en page.
Il ne te reste plus qu'à effectuer ce que j'ai énoncé plutôt en B et en
C....
Une autre approche, serait la mise en place d'un module de classe afin
d'homogénéiser la mise en page de tous les fichiers que tu veux imprimer!
Ce module de classe pourrait être ajouté à ton classeur de macros
personnelles
ou à un fichier de macros complémentaires.

Voilà!




MichD
---------------------------------------------------------------
"lexchris" a écrit dans le message de groupe de discussion :


Bonjour,

J'aimerai appliquer à plusieurs fichiers et plusieurs onglets une même
entête
qui serait sur un autre fichiers EXCELS.

J'ai cherché plusieurs astuces mais cela ne marche pas.

Donc j'ai plusieurs fichiers.
Pt de vente 1
Pt de vente 2
..

et un autre avec les informations que j'aimerais imprimer en entête sur tous
les
onglets de ces fichiers.

Ces fichiers se trouvent tous dans le même dossier qui sera dupliqué par la
suite.

Merci de votre aide
Avatar
alexchris
Le jeudi 04 Avril 2013 à 20:36 par lexchris :
Bonjour,

J'aimerai appliquer à plusieurs fichiers et plusieurs onglets une
même entête qui serait sur un autre fichiers EXCELS.

J'ai cherché plusieurs astuces mais cela ne marche pas.

Donc j'ai plusieurs fichiers.
Pt de vente 1
Pt de vente 2
...

et un autre avec les informations que j'aimerais imprimer en entête sur
tous les onglets de ces fichiers.

Ces fichiers se trouvent tous dans le même dossier qui sera
dupliqué par la suite.

Merci de votre aide


JE crois que je me suis engagé dans un chemin que je maitrise pas^^

car le problème c'est que je n'arrive pas à mettre dans les entêtes les cellules de ma feuille.

J'ai bien intégré cela dans le ThisWordbook

Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.CenterHeader = Range("A1").Text
End Sub


et j'ai bien activé les macros...

Mais impossible de voir le header se tranformer grrrrr

Je teste d'autres possibilités mais je suis complétement à la rue ^^
Avatar
MichD
Bonjour,

Au cas où les procédures événementielles ont
été désactivées, exécute une fois cette macro :
'-----------------------------------
Sub test()
Appliction.EnableEvents = True
End Sub
'-----------------------------------

Pour chaque feuille du classeur, si tu veux que le contenu
de la cellule A1 de chaque feuille se retrouve dans la partie
centrale de l'en-tête de la feuille, essaie ceci dans le
Thisworkbook du projetVBA du classeur :

'---------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet
For Each Sh In ActiveWindow.SelectedSheets
With Sh
.PageSetup.CenterHeader = Range("A1")
End With
Next
End Sub
'---------------------------------------

MichD
---------------------------------------------------------------
Avatar
alexchris
Le jeudi 04 Avril 2013 à 20:36 par lexchris :
Bonjour,

J'aimerai appliquer à plusieurs fichiers et plusieurs onglets une
même entête qui serait sur un autre fichiers EXCELS.

J'ai cherché plusieurs astuces mais cela ne marche pas.

Donc j'ai plusieurs fichiers.
Pt de vente 1
Pt de vente 2
...

et un autre avec les informations que j'aimerais imprimer en entête sur
tous les onglets de ces fichiers.

Ces fichiers se trouvent tous dans le même dossier qui sera
dupliqué par la suite.

Merci de votre aide


Bon voilà

j'ai fait avancé le smilblick et je pense avoir réussi (je suis sur lol) à faire une petite parite de ce que je voulais ^^

Assez compliqué mais je m'y retrouve c'est la principal

Merci aux 2 forumeurs qui ont essayé un max de m'aider et c'est gràce à vous que j'ai réussi... En essayant vos codes et en regardant et analysant vos remarques.

Alors pour faire simple, le macro était désactivé. Je l'ai réactivé mais j'ai enregistré toutes mes feuilles excel en mode (no macro)...

Donc voilà pourquoi cela ne marchait pas.

Ensuite j'ai crée une feuille identique sur tous mes classeurs (46 lol) que j'ai remis en format xlsm et ensuite j'ai remis tous mes liens entre mes divers fichiers ^^

et j'ai fini par crée une macro qui fonctionne mais je ne sais pas si celle-ci est sans bug^^

Sub Entete()

Dim ws As Worksheet
Set ws = Worksheets("Info")

Dim adversaire, jour, spectateur
adversaire = ws.Range("B1").Value
jour = ws.Range("B2").Value
spectateur = ws.Range("B5").Value

For Each ws In Sheets
ws.PageSetup.LeftHeader = "&""Calibri,Gras""&12&UMatch contre " & adversaire
ws.PageSetup.CenterHeader = "&""Calibri,Gras""&12&ULe " & jour
ws.PageSetup.RightHeader = "&""Calibri,Gras""&12&USpectateur grand public prévu " & spectateur

Next

End Sub


Après si quelqu'un d'autres à une solution plus évidente, je prends..

Car là je dois appliquer ma macro à chaques fois que j'ouvres mon fichier pour avoir les bonnes infos au bons moments. Sachant que les informations dans les cases seront modifiées à chaque nouvel événement.

Merci à tous et je suis à l'écoute de futures modifications
Avatar
MichD
Place ce qui suit dans le Thisworkbook de ton classeur.

'----------------------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Sh As Worksheet, Adversaire As String
Dim Spectateur As String, Jour As String

With Worksheets("Info")
Adversaire = .Range("B1").Value
Jour = .Range("B2").Value
Spectateur = .Range("B5").Value
End With

For Each Sh In ActiveWindow.SelectedSheets
With Sh
.PageSetup.LeftHeader = "&""Calibri,Gras""&12&UMatch contre " &
Adversaire
.PageSetup.CenterHeader = "&""Calibri,Gras""&12&ULe " & Jour
.PageSetup.RightHeader = "&""Calibri,Gras""&12&USpectateur grand
public prévu " & _
Spectateur
End With
Next
End Sub
'----------------------------------------------------



MichD
---------------------------------------------------------------
Avatar
alexchris
Le jeudi 04 Avril 2013 à 20:36 par lexchris :
Bonjour,

J'aimerai appliquer à plusieurs fichiers et plusieurs onglets une
même entête qui serait sur un autre fichiers EXCELS.

J'ai cherché plusieurs astuces mais cela ne marche pas.

Donc j'ai plusieurs fichiers.
Pt de vente 1
Pt de vente 2
...

et un autre avec les informations que j'aimerais imprimer en entête sur
tous les onglets de ces fichiers.

Ces fichiers se trouvent tous dans le même dossier qui sera
dupliqué par la suite.

Merci de votre aide


MErci MichD de tes aides mais j'y arrive vraiment pas avec ce code ^^

Ce système dans this workbook, j'ai du mal avec .

J'arrive très bien avec la macro mais des que c'est pour le rentrer direct ca ne marche pas.
Avatar
MichD
| J'arrive très bien avec la macro mais des que
| c'est pour le rentrer direct ca ne marche pas.

*** Je ne comprends pas ce commentaire.
Tu entres quoi? Où? Que veux-tu qui se passe après?


MichD
---------------------------------------------------------------