Insersion du contenu d'une cellule dans un en-tête

Le
AndréBdR
Je souhaiterais insérer automatiquement le contenu de la cellule A1 dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
h2so4
Le #22779881
via VBA, le code suivant devrait le faire


-----------------
Sub setheaderfromA1()
'si sheet à mettre en page est feuil1
Worksheets("feuil1").PageSetup.LeftHeader =
Worksheets("feuil1").Range("A1")

End Sub
------------------

AndréBdR was thinking very hard :
Je souhaiterais insérer automatiquement le contenu de la cellule A1 dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.



--
h2so4
ca PAN
pique DORA
.
michdenis
Le #22779871
Bonjour,

Dans le ThisWorkbook, tu insères cette petite procédure événementielle.
Cette dernière s'exécute à l'ouverture du classeur seulement.

Dans la barre de titre d'un classeur, tu as normalement ceci :
Microsoft Excel - Classeur1.xls


'----------------------------------
Private Sub Workbook_Open()
'Cette ligne de code remplace Classeur1.xls par le contenu
'de la cellule A1 de la feuil1
Application.Caption = Range("Feuil1!A1")
'Cette ligne de code remplace "Microsoft Excel" par "ce que tu veux"
ActiveWindow.Caption = "Ce que tu veux"
End Sub
'----------------------------------


MichD
--------------------------------------------
"AndréBdR" a écrit dans le message de groupe de discussion : 4cdbb14c$0$7716$

Je souhaiterais insérer automatiquement le contenu de la cellule A1 dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.
michdenis
Le #22779861
Oups ! ce que je t'ai proposé c'était pour modifier la ligne de titre...
isabelle
Le #22780591
bonjour André,

copie ce code sur la page de thisworkbook,

[code]
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If ActiveSheet.Name = "Feuil1" Then ' à adapter
ActiveSheet.PageSetup.LeftHeader = Range("A1")
End If
End Sub
[/code]

isabelle

Le 2010-11-11 04:03, AndréBdR a écrit :
Je souhaiterais insérer automatiquement le contenu de la cellule A1 dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.

AndréBdR
Le #22780631
Ta réponse et celle de michdenis laissent à penser qu'il n'existe pas de
solution en dehors de VBA.
Je le pressentais un peu.
Mais ça me plaît, et je voudrais bien affiner.
En gros, mon fichier est un calendrier un peu particulier.
En A1, je frappe une année. C'est donc un nombre, genre: 1998
Je souhaite bien sûr récupérer cette valeur dans la Mise en Page, un peu
comme tu le proposes (et qui marche très bien), mais avec deux contraintes
supplémentaires:
-a) je voudrais que la macro se lance toute seule dès que je change la
valeur de A1, quand je passe par exemple de 1998 à 2007
-b) et j'aimerais bien que cette nouvelle valeur de A1 parte dans
l'en-tête, sans que j'aie à intervenir, en posion centrale, et derrière un
moignon de texte qui pourrait être tout simplement: Calendrier de
J'espère ne pas trop abuser.
Merci d'avance.



"h2so4" news:qKPCo.16879$
via VBA, le code suivant devrait le faire


-----------------
Sub setheaderfromA1()
'si sheet à mettre en page est feuil1
Worksheets("feuil1").PageSetup.LeftHeader =
Worksheets("feuil1").Range("A1")

End Sub
------------------

AndréBdR was thinking very hard :
Je souhaiterais insérer automatiquement le contenu de la cellule A1 dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.



--
h2so4
ca PAN
pique DORA
.


michdenis
Le #22780721
Place ce qui suit dans le ThisWorkbook de ton classeur :

'---------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim Police As String
Dim Taille As String
Dim Texte As String

'****VARIABLES À DÉFINIR SELON TES BESOINS****
'Pour le format de ton texte :
Police = "Algerian"
Taille = 20
Texte = "Calendrier de " & Worksheets("Feuil1").Range("A1")
'*******************************************************
For Each Sh In ActiveWindow.SelectedSheets
With Sh
With .PageSetup
.CenterFooter = "&""" & Police & ",Gras italique""" & "&E" & Taille & Texte
'OU simplement
.CenterFooter = "Calendrier de " & Worksheets("Feuil1").Range("A1")
End With
End With
Next
End Sub
'---------------------------------------------

MichD
--------------------------------------------
"AndréBdR" a écrit dans le message de groupe de discussion : 4cdbf712$0$5392$

Ta réponse et celle de michdenis laissent à penser qu'il n'existe pas de
solution en dehors de VBA.
Je le pressentais un peu.
Mais ça me plaît, et je voudrais bien affiner.
En gros, mon fichier est un calendrier un peu particulier.
En A1, je frappe une année. C'est donc un nombre, genre: 1998
Je souhaite bien sûr récupérer cette valeur dans la Mise en Page, un peu
comme tu le proposes (et qui marche très bien), mais avec deux contraintes
supplémentaires:
-a) je voudrais que la macro se lance toute seule dès que je change la
valeur de A1, quand je passe par exemple de 1998 à 2007
-b) et j'aimerais bien que cette nouvelle valeur de A1 parte dans
l'en-tête, sans que j'aie à intervenir, en posion centrale, et derrière un
moignon de texte qui pourrait être tout simplement: Calendrier de
J'espère ne pas trop abuser.
Merci d'avance.



"h2so4" news:qKPCo.16879$
via VBA, le code suivant devrait le faire


-----------------
Sub setheaderfromA1()
'si sheet à mettre en page est feuil1
Worksheets("feuil1").PageSetup.LeftHeader > Worksheets("feuil1").Range("A1")

End Sub
------------------

AndréBdR was thinking very hard :
Je souhaiterais insérer automatiquement le contenu de la cellule A1 dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.



--
h2so4
ca PAN
pique DORA
.


h2so4
Le #22780751
remplace Footer par Header dans le code de michdenis pour l'avoir dans
l'entête plutôt que dans le bad de page.

bat

After serious thinking michdenis wrote :
Place ce qui suit dans le ThisWorkbook de ton classeur :

'---------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim Police As String
Dim Taille As String
Dim Texte As String

'****VARIABLES À DÉFINIR SELON TES BESOINS****
'Pour le format de ton texte :
Police = "Algerian"
Taille = 20
Texte = "Calendrier de " & Worksheets("Feuil1").Range("A1")
'*******************************************************
For Each Sh In ActiveWindow.SelectedSheets
With Sh
With .PageSetup
.CenterFooter = "&""" & Police & ",Gras italique""" & "&E" &
Taille & Texte 'OU simplement
.CenterFooter = "Calendrier de " &
Worksheets("Feuil1").Range("A1") End With
End With
Next
End Sub
'---------------------------------------------

MichD
--------------------------------------------
"AndréBdR" a écrit dans le message de groupe de discussion :
4cdbf712$0$5392$

Ta réponse et celle de michdenis laissent à penser qu'il n'existe pas de
solution en dehors de VBA.
Je le pressentais un peu.
Mais ça me plaît, et je voudrais bien affiner.
En gros, mon fichier est un calendrier un peu particulier.
En A1, je frappe une année. C'est donc un nombre, genre: 1998
Je souhaite bien sûr récupérer cette valeur dans la Mise en Page, un peu
comme tu le proposes (et qui marche très bien), mais avec deux contraintes
supplémentaires:
-a) je voudrais que la macro se lance toute seule dès que je change la
valeur de A1, quand je passe par exemple de 1998 à 2007
-b) et j'aimerais bien que cette nouvelle valeur de A1 parte dans
l'en-tête, sans que j'aie à intervenir, en posion centrale, et derrière un
moignon de texte qui pourrait être tout simplement: Calendrier de
J'espère ne pas trop abuser.
Merci d'avance.



"h2so4" news:qKPCo.16879$
via VBA, le code suivant devrait le faire


-----------------
Sub setheaderfromA1()
'si sheet à mettre en page est feuil1
Worksheets("feuil1").PageSetup.LeftHeader >> Worksheets("feuil1").Range("A1")

End Sub
------------------

AndréBdR was thinking very hard :
Je souhaiterais insérer automatiquement le contenu de la cellule A1 dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.



--
h2so4
ca PAN
pique DORA
.







--
h2so4
ca PAN
pique DORA
.
AndréBdR
Le #22780831
Super.
A moins que je n'ai pas tout pigé, il ne me reste plus qu'à faire en sorte
que je ne sois pas obligé de lancer la macro, et que celle-ci démarre toute
seule dès que je fais un changement du contenu de la cellule A1.
Merci à tous les deux pour ce coup de pouce final.

"h2so4" news:ouTCo.75233$
remplace Footer par Header dans le code de michdenis pour l'avoir dans
l'entête plutôt que dans le bad de page.

bat

After serious thinking michdenis wrote :
Place ce qui suit dans le ThisWorkbook de ton classeur :

'---------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim Police As String
Dim Taille As String
Dim Texte As String

'****VARIABLES À DÉFINIR SELON TES BESOINS****
'Pour le format de ton texte :
Police = "Algerian"
Taille = 20
Texte = "Calendrier de " & Worksheets("Feuil1").Range("A1")
'*******************************************************
For Each Sh In ActiveWindow.SelectedSheets
With Sh
With .PageSetup
.CenterFooter = "&""" & Police & ",Gras italique""" & "&E" &
Taille & Texte 'OU simplement
.CenterFooter = "Calendrier de " &
Worksheets("Feuil1").Range("A1") End With
End With
Next
End Sub
'---------------------------------------------

MichD
--------------------------------------------
"AndréBdR" a écrit dans le message de groupe de discussion :
4cdbf712$0$5392$

Ta réponse et celle de michdenis laissent à penser qu'il n'existe pas de
solution en dehors de VBA.
Je le pressentais un peu.
Mais ça me plaît, et je voudrais bien affiner.
En gros, mon fichier est un calendrier un peu particulier.
En A1, je frappe une année. C'est donc un nombre, genre: 1998
Je souhaite bien sûr récupérer cette valeur dans la Mise en Page, un peu
comme tu le proposes (et qui marche très bien), mais avec deux
contraintes
supplémentaires:
-a) je voudrais que la macro se lance toute seule dès que je change la
valeur de A1, quand je passe par exemple de 1998 à 2007
-b) et j'aimerais bien que cette nouvelle valeur de A1 parte dans
l'en-tête, sans que j'aie à intervenir, en posion centrale, et derrière
un
moignon de texte qui pourrait être tout simplement: Calendrier de
J'espère ne pas trop abuser.
Merci d'avance.



"h2so4" news:qKPCo.16879$
via VBA, le code suivant devrait le faire


-----------------
Sub setheaderfromA1()
'si sheet à mettre en page est feuil1
Worksheets("feuil1").PageSetup.LeftHeader >>> Worksheets("feuil1").Range("A1")

End Sub
------------------

AndréBdR was thinking very hard :
Je souhaiterais insérer automatiquement le contenu de la cellule A1
dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.



--
h2so4
ca PAN
pique DORA
.







--
h2so4
ca PAN
pique DORA
.


michdenis
Le #22780821
Je publie à nouveau la procédure pour en facilité la lecture :

'---------------------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim Police As String
Dim Taille As String
Dim Texte As String

'**VARIABLES À DÉFINIR SELON TES BESOINS**
'Pour le format de ton texte :
Police = "Algerian"
Taille = 20
Texte = "Calendrier de " & _
Worksheets("Feuil1").Range("A1")
'*******************************************
For Each Sh In ActiveWindow.SelectedSheets
With Sh
With .PageSetup
.CenterFooter = "&""" & Police & _
",Gras italique""" & "&E" & _
Taille & Texte
'OU simplement
.CenterFooter = "Calendrier de " & _
Worksheets("Feuil1").Range("A1")
End With
End With
Next
End Sub
'---------------------------------------------------------

MichD
--------------------------------------------
michdenis
Le #22780811
| A moins que je n'ai pas tout pigé, il ne me reste plus qu'à faire en sorte
| que je ne sois pas obligé de lancer la macro, et que celle-ci démarre toute
|seule

À chaque fois que tu appelleras la commande "Imprimer" la mise en page
se fera automatiquement sans autre intervention.



MichD
--------------------------------------------
"AndréBdR" a écrit dans le message de groupe de discussion : 4cdc08d3$0$7678$

Super.
A moins que je n'ai pas tout pigé, il ne me reste plus qu'à faire en sorte
que je ne sois pas obligé de lancer la macro, et que celle-ci démarre toute
seule dès que je fais un changement du contenu de la cellule A1.
Merci à tous les deux pour ce coup de pouce final.

"h2so4" news:ouTCo.75233$
remplace Footer par Header dans le code de michdenis pour l'avoir dans
l'entête plutôt que dans le bad de page.

bat

After serious thinking michdenis wrote :
Place ce qui suit dans le ThisWorkbook de ton classeur :

'---------------------------------------------
Private Sub Workbook_Open()
Dim Sh As Worksheet
Dim Police As String
Dim Taille As String
Dim Texte As String

'****VARIABLES À DÉFINIR SELON TES BESOINS****
'Pour le format de ton texte :
Police = "Algerian"
Taille = 20
Texte = "Calendrier de " & Worksheets("Feuil1").Range("A1")
'*******************************************************
For Each Sh In ActiveWindow.SelectedSheets
With Sh
With .PageSetup
.CenterFooter = "&""" & Police & ",Gras italique""" & "&E" &
Taille & Texte 'OU simplement
.CenterFooter = "Calendrier de " &
Worksheets("Feuil1").Range("A1") End With
End With
Next
End Sub
'---------------------------------------------

MichD
--------------------------------------------
"AndréBdR" a écrit dans le message de groupe de discussion :
4cdbf712$0$5392$

Ta réponse et celle de michdenis laissent à penser qu'il n'existe pas de
solution en dehors de VBA.
Je le pressentais un peu.
Mais ça me plaît, et je voudrais bien affiner.
En gros, mon fichier est un calendrier un peu particulier.
En A1, je frappe une année. C'est donc un nombre, genre: 1998
Je souhaite bien sûr récupérer cette valeur dans la Mise en Page, un peu
comme tu le proposes (et qui marche très bien), mais avec deux
contraintes
supplémentaires:
-a) je voudrais que la macro se lance toute seule dès que je change la
valeur de A1, quand je passe par exemple de 1998 à 2007
-b) et j'aimerais bien que cette nouvelle valeur de A1 parte dans
l'en-tête, sans que j'aie à intervenir, en posion centrale, et derrière
un
moignon de texte qui pourrait être tout simplement: Calendrier de
J'espère ne pas trop abuser.
Merci d'avance.



"h2so4" news:qKPCo.16879$
via VBA, le code suivant devrait le faire


-----------------
Sub setheaderfromA1()
'si sheet à mettre en page est feuil1
Worksheets("feuil1").PageSetup.LeftHeader >>> Worksheets("feuil1").Range("A1")

End Sub
------------------

AndréBdR was thinking very hard :
Je souhaiterais insérer automatiquement le contenu de la cellule A1
dans
l'en-tête personnalisé de la Mise en Page de mon fichier.
Est-ce possible?
Salut à tous.



--
h2so4
ca PAN
pique DORA
.







--
h2so4
ca PAN
pique DORA
.


Publicité
Poster une réponse
Anonyme