Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

14 réponses
Avatar
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.

10 réponses

1 2
Avatar
h2so4
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
.
Avatar
michdenis
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.
Avatar
michdenis
Oups ! ce que je t'ai proposé c'était pour modifier la ligne de titre...
Avatar
isabelle
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.

Avatar
AndréBdR
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" a écrit dans le message de
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
.


Avatar
michdenis
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" a écrit dans le message de
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
.


Avatar
h2so4
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" a écrit dans le message de
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
.
Avatar
AndréBdR
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" a écrit dans le message de
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" a écrit dans le message de
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
.


Avatar
michdenis
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
--------------------------------------------
Avatar
michdenis
| 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" a écrit dans le message de
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" a écrit dans le message de
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
.


1 2