Titre

M

Marie

Guest
Bonjour a tous sur le forum

Existe t-il une code comme &[onglet] indique le nom de la feuille ou il se trouve, dans un entete de page. donc un autre code qui renverrait la valeur de la cellule d'une page dans l'entete d'une autre page;

Dans l'exemple joint je veux mettre la date de la feuille date dans l'entete des pages bilan et resultats.

bonne aprés midi; à + et merci du dévouement de chacun
 

Pièces jointes

  • Classeur1.zip
    1.9 KB · Affichages: 20
  • Classeur1.zip
    1.9 KB · Affichages: 21
  • Classeur1.zip
    1.9 KB · Affichages: 20
M

michel

Guest
bonjour Marie

j'ai interprété que tu souhaitais insérer la valeur de la cellule F6 de la feuille "Date" dans l'entete de page .
je n'ai pas trouvé de symbole de mise en forme automatique , mais par macro tu peux essayer :


Sub MaJ_EntetePage()
Dim Valeur As String
Dim Nom As Variant

Valeur = "La foire aux bestiaux du " & Sheets("Date").Range("F6")
For Each Nom In Array("Bilan", "Résultats")
Sheets(Nom).PageSetup.CenterHeader = Valeur
Next Nom
'pour info
'LeftHeader : entete à gauche
'RightHeader :entete à droite

'pied de page
'LeftFooter : pied de page gauche
'RightFooter : pied de page droite
'CenterFooter : pied de page centré
End Sub



bon apres midi
MichelXld
 
M

Marie

Guest
Ok et ca marche

Est il possible d'intégrer la macro ci dessous à la tienne et que les deux s'executent avec l'apercu avant impession d'excel ; sans avoir à ouvrir la commande macro; executer ...

Sub Zone_Imp()
' apercu écran uniquement des lignes écrites
ActiveSheet.PageSetup.PrintArea = Range("A5").Address & ":" & Range("AZ" & ActiveSheet.Range("A5:A154").SpecialCells(xlCellTypeConstants, 23).Rows.Count + 4).Address

ActiveWindow.SelectedSheets.PrintPreview
End Sub

Merci encore à+
 
Y

yeahou

Guest
Bonjour Marie, Michel, le Forum

Tiens, ta formule me rappelle quelque chose, Marie ! ;-))

A+

Sub MaJ_EntetePage()
Dim Valeur As String
Dim Nom As Variant

Valeur = "La foire aux bestiaux du " & Sheets("Date").Range("F6")
For Each Nom In Array("Bilan", "Résultats")
With Sheets(Nom)
.Select
.PageSetup.CenterHeader = Valeur
.PageSetup.PrintArea = Range("A5").Address & ":" & Range("AZ" & ActiveSheet.Range("A5:A154").SpecialCells(xlCellTypeConstants, 23).Rows.Count + 4).Address
end with
ActiveWindow.SelectedSheets.PrintPreview
Next Nom
End Sub
 
M

Marie

Guest
Bon dimanche

Tu as raison je suis entrain de me dispersser mais c'est mon dernier Pb pour faire marcher mon appli et je suis impassiant;

Par comparaison avec toutes las solutions proposeés j'ai réussi à faire fonctionner celle là :


Sub Aperligne()
'
' Aperligne Macro
' Macro enregistrée le 25/07/2004 par HP registered user
'' apercu écran uniquement des lignes écrites
ActiveSheet.PageSetup.PrintArea = Range("A5").Address & ":" & Range("AZ" & ActiveSheet.Range("A5:A154").SpecialCells(xlCellTypeConstants, 23).Rows.Count + 4).Address
ActiveWindow.SelectedSheets.PrintPreview
Dim Valeur As String
Dim Nom As Variant

' recopie le titre saison sportive et sa date de la feuille date
Valeur = " Saison sportive " & Sheets("Date").Range("H12")
For Each Nom In Array("Zone SO", "Zone O")
Sheets(Nom).PageSetup.CenterHeader = Valeur
ActiveWindow.SelectedSheets.PrintPreview

Next Nom

End Sub

Malheusemnt il ne se déclanche pas quand je fait apercu écran d'excel il faut que fasse macro, executer "Aperligne"

à+
 
Y

yeahou

Guest
Re Bonjour

Pour faire ce que tu désires, place cette macro dans ThisWorkbook
Elle sera lancée automatiquement quand tu lanceras un aperçu et celui ci sera conforme à tes désirs.

A+


Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Valeur As String
Dim Nom As Variant

' recopie le titre saison sportive et sa date de la feuille date
Valeur = " Saison sportive " & ThisWorkbook.Sheets("Date").Range("H12")
For Each Nom In Array("Zone SO", "Zone O")
With ThisWorkBook.Sheets(Nom).PageSetup
.CenterHeader = Valeur
.PrintArea = .Range("A5").Address & ":" & .Range("AZ" & .Range("A5:A154").SpecialCells(xlCellTypeConstants, 23).Rows.Count + 4).Address
End With
Next Nom
End Sub
 
@

@+Thierry

Guest
Bonjour Marie, Michel, Yeahou, le Forum

Je pense que Marie est entre bonnes mains avec vous deux !! Donc je ne passe pas pour compléter vos propositions...

Non, pardonnez mon intrusion, c'est juste pour dire à Yeahou que je n'ai pas vu sa réaction depuis sa question du Lien supprimé car depuis je t'ai mis deux posts (le premier du 22-07-04 22:45 qui devrait hautement l'interresser, et le second du 22-07-04 23:27 où par contre je fais choux blanc avec VBA) c'est vrai qu'ensuite ce Fil est parti dans tous les sens (Excel 97, nombre record de Post etc, lol)...

Bon Dimanche
@+Thierry
 
Y

Yeahou

Guest
Bonjour Thierry

Je viens de remarquer un truc bizarre, il y a des réponses aux fils que je ne reçois pas. J'ai reçu la réponse de marie et en venant voir le fil, j'ai vu la tienne que je n'avais pas reçue.
En revérifiant tous mes posts, je n'ai également pas reçu deux autres réponses de toi dont celle dont tu parles, l'autre étant sur ta nouvelle routine de suppression de lignes pour cathy utilisant les filtres auto.
C'est normal, ça ?
Je m'en va répondre avec du retard.

A+
 
M

Marie

Guest
Yeahou, Bonjour et bonne semaine

Je viens de rentrer ta nouvelle macro dans ThisWorkbook et après exécution j’ai le message d’erreur suivant :
Erreur d’exécution ‘438’ : Propriété ou méthode non gérée par cette objet

Et le débogeur viens mettre en jaune la ligne « . PrintArea = .Range……

PS : pour l’instant je modifie la présentation de mes feuilles ; que je compte recopier par la suite en les renommant zone so ; zone e ; zone se ; etc . j’ai donc supprimer « Zone so dans la ligne : For Each

J’espère que ces explications sont suffisamment claires.

À+
 
Y

Yeahou

Guest
Bonjour Marie, Thierry, le forum

excuse j'ai laissé un bug en allant trop vite, mon with était mal fait.

A+

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Valeur As String
Dim Nom As Variant

' recopie le titre saison sportive et sa date de la feuille date
Valeur = " Saison sportive " & ThisWorkbook.Sheets("Date").Range("H12")
For Each Nom In Array("Zone SO", "Zone O")
With ThisWorkBook.Sheets(Nom)
.PageSetup.CenterHeader = Valeur
.PageSetup.PrintArea = .Range("A5").Address & ":" & .Range("AZ" & .Range("A5:A154").SpecialCells(xlCellTypeConstants, 23).Rows.Count + 4).Address
End With
Next Nom
End Sub
 
@

@+Thierry

Guest
Bonjour Marie, Yeahou, Michel

Désolé encore de squatter ton Fil Marie, juste pour répondre à Yeahou. Moi je n'ai pas remarqué ce problème, en général j'ai pris l'habitude de cocher tous mes messages avec le CheckBox "Recevoir la réponse par email à l'adresse ci-dessus." et je reçois bien la réponse à l'adresse ci-dessus... Et mêmes des centaines de réponses à l'adresse ci-dessus ! lol

Je ne sais pas, il faudrait voir du coté de Club-Internet si ils ne te "mangent" pas certains emails les considérant comme des Spammes...

Bonne Journée
@+Thierry

PS Yeahou, c'est pas la première fois en voyant tes codes que je me dis "Il travaille au moins avec un 21'' pour faire des lignes VBA aussi longues !!! lol.... tu sais qu'il y a l'underscore pour la césure de ligne, c'est plus confortable pour lire les codes sur des 17 ou 19...
 
Y

Yeahou

Guest
Re Bonjour marie, thierry, michel, le forum

loupé thierry, je travaille sur des 17 et 19 pouces, c'est simplement une mauvaise habitude, je vais essayer de me corriger !
pour les mails, je vais me renseigner, merci

A+
 
@

@+Thierry

Guest
Re Bonjour Marie, Yeahou

Le "Chèque Box" c'est une Case à Cocher en bon François ! il y en a une en bas de la fenêtre pour rédiger un message à coté de laquelle il y a écrit :
-----
|  | Recevoir la réponse par email à l'adresse ci-dessus.
-----

En VBA (et en anglais) on appelle ceci "CheckBox", ce n'est pas un snobisme déplacé, mais quand on développe en VB c'est important de connaître tous les Object (oups Objets pardon lol) par leur nom.

Bon Aprèm
@+Thierry

PS : Pour Yeahou, ah alors dans ce cas tu dois user l'ascenseur horizontal !!! lol
 
M

Marie

Guest
Condition

Bonjour à tous

J'ai un Pb de mise au point de formule si;
"Si "quelqu'un peut m'aider l'explication se trouve sur la feulle"Zone SO" du fichier joint

bonnes vacances entre deux coups de clavier.
à+
 

Pièces jointes

  • Copiecoupedetection.zip
    48.1 KB · Affichages: 19
  • Copiecoupedetection.zip
    48.1 KB · Affichages: 8
  • Copiecoupedetection.zip
    48.1 KB · Affichages: 9

Discussions similaires

Statistiques des forums

Discussions
312 300
Messages
2 087 008
Membres
103 429
dernier inscrit
PhilippeH