XL 2021 Format date dans un en-tête

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 !

Constantin

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,
Dans le fichier joint, j'aimerai pouvoir imprimer en en tête la date du jour sous le format "jjjj jj mm aaaa" (exemple : mercredi 30 08 2023 au lieu de 30/08/2023)
Je sais le faire dans une cellule mais pas dans l'en tête.

Si vous avez une idée, je suis preneur,

Portez-vous bien !
Pierre
 

Pièces jointes

Solution
Bonjour à tous les 2

@Constantin

Peut-on imaginer cette macro sans la zone d'impression définie dans mon exemple comme B2😀3 dès lors que je l'aurai définie manuellement avant d'activer la macro ?
Si tu veux définir toi même la zone d'impression tu supprimes

1693464635320.png


Et ce seras à toi de la définir comme tu veux

Tout mon code est commenté cela te permet de modifier ou supprimer ce que tu veux comme paramètre

Quand il y a une apostrophe devant une ligne de code la ligne n'est pas exécutée par excel
exemple :
VB:
'.PrintOut                                              ' Impression ==> Désactiver pour les tests A activer pour l'impression

Si tu enleves la petite apostrophe au début l'impression se fait apres la...
Bonjour.
Il ne semble pas y avoir de moyen intégré de le faire.
À votre place j'exécuterais quelque part (dans une Sub Workbook_Open peut être ?) :
VB:
ActiveSheet.PageSetup.CenterHeader = Format(Date, "dddd dd mmmm yyyy")
 
Bonjour @Constantin
Edit bonjour Bernard

Je te propose ceci à mettre dans un module
Tu crée un bouton impression et tu lui affecte cette macro

VB:
Sub Impression()
Application.ScreenUpdating = False
With ActiveSheet                                        ' Les paramètres s'applique à la feuille active
    With .PageSetup
     
        '******** Zone d'impression
        .PrintArea = "B2:D3"                            ' A adapter si besoin
        '********
     
        .Orientation = xlPortrait                           ' Portait ou  xlLandscape paysage
        .CenterHorizontally = False                         ' Centré horizontalement
        .CenterVertically = False                           ' Centré verticalement
        .LeftMargin = Application.InchesToPoints(0.24)      ' Marge gauche
        .RightMargin = Application.InchesToPoints(0.24)     ' Marge droite
       
        .TopMargin = Application.InchesToPoints(0.75)       ' Marge haut
        .BottomMargin = Application.InchesToPoints(0.75)    ' Marge bas
       
        .HeaderMargin = Application.InchesToPoints(0.31)    ' En tête
        .FooterMargin = Application.InchesToPoints(0.31)    ' Pied de page

        .Zoom = False                                       ' Pas de zoom
        .FitToPagesTall = 1                                 ' 1 page en hauteur
        .FitToPagesWide = 1                                 ' 1 page en largeur
        .PaperSize = xlPaperA5                              ' Format papier A5
       
        .CenterHeader = Format(Date, "dddd dd mmmm yyyy") 'Date du jour entete de page
   
    End With
    .PrintPreview                                           ' Prévisualisation à supprimer éventuellement
    '.PrintOut                                              ' Impression ==> Désactiver pour les tests A activer pour l'impression
End With
End Sub

Et tu auras ....

1693407283239.png


Merci de ton retour
 
Bonjour @Constantin
Edit bonjour Bernard

Je te propose ceci à mettre dans un module
Tu crée un bouton impression et tu lui affecte cette macro

VB:
Sub Impression()
Application.ScreenUpdating = False
With ActiveSheet                                        ' Les paramètres s'applique à la feuille active
    With .PageSetup
    
        '******** Zone d'impression
        .PrintArea = "B2:D3"                            ' A adapter si besoin
        '********
    
        .Orientation = xlPortrait                           ' Portait ou  xlLandscape paysage
        .CenterHorizontally = False                         ' Centré horizontalement
        .CenterVertically = False                           ' Centré verticalement
        .LeftMargin = Application.InchesToPoints(0.24)      ' Marge gauche
        .RightMargin = Application.InchesToPoints(0.24)     ' Marge droite
      
        .TopMargin = Application.InchesToPoints(0.75)       ' Marge haut
        .BottomMargin = Application.InchesToPoints(0.75)    ' Marge bas
      
        .HeaderMargin = Application.InchesToPoints(0.31)    ' En tête
        .FooterMargin = Application.InchesToPoints(0.31)    ' Pied de page

        .Zoom = False                                       ' Pas de zoom
        .FitToPagesTall = 1                                 ' 1 page en hauteur
        .FitToPagesWide = 1                                 ' 1 page en largeur
        .PaperSize = xlPaperA5                              ' Format papier A5
      
        .CenterHeader = Format(Date, "dddd dd mmmm yyyy") 'Date du jour entete de page
  
    End With
    .PrintPreview                                           ' Prévisualisation à supprimer éventuellement
    '.PrintOut                                              ' Impression ==> Désactiver pour les tests A activer pour l'impression
End With
End Sub

Et tu auras ....

Regarde la pièce jointe 1177520

Merci de ton retour
Bonjour Phil69970,
Concernant la zone d'impression, elle varie évidemment en fonction de ma liste de courses et je la définis en fonction des besoins (mise en page - zone impression - définir).
Peut-on imaginer cette macro sans la zone d'impression définie dans mon exemple comme B2😀3 dès lors que je l'aurai définie manuellement avant d'activer la macro ?
Pour info, mon nouveau en matière de programmation est plutôt pitoyable...
Je vais faire des essais.
Merci de ton aide,
Pierre
 
Qu'est-ce qui coince ?
À votre place j'exécuterais quelque part (dans une Sub Workbook_Open peut être ?)
Je ne sais pas comment créer cette Sub Workbook ni où la mettre. Alors je l'ai casée dans un module qui n'a pas aimé du tout 😡
Sans doute me suis-je planté dans le code.
J'imagine que si je crée un Sub Workbook il faut que je termine par un End Sub ?
Je sais, je ne suis pas bon du tout.
Merci encore
Pierre
 
Bonjour à tous les 2

@Constantin

Peut-on imaginer cette macro sans la zone d'impression définie dans mon exemple comme B2😀3 dès lors que je l'aurai définie manuellement avant d'activer la macro ?
Si tu veux définir toi même la zone d'impression tu supprimes

1693464635320.png


Et ce seras à toi de la définir comme tu veux

Tout mon code est commenté cela te permet de modifier ou supprimer ce que tu veux comme paramètre

Quand il y a une apostrophe devant une ligne de code la ligne n'est pas exécutée par excel
exemple :
VB:
'.PrintOut                                              ' Impression ==> Désactiver pour les tests A activer pour l'impression

Si tu enleves la petite apostrophe au début l'impression se fait apres la visu de l'impression...
 
Bonjour Phil69970,
Concernant la zone d'impression, elle varie évidemment en fonction de ma liste de courses et je la définis en fonction des besoins (mise en page - zone impression - définir).
Peut-on imaginer cette macro sans la zone d'impression définie dans mon exemple comme B2😀3 dès lors que je l'aurai définie manuellement avant d'activer la macro ?
Pour info, mon nouveau en matière de programmation est plutôt pitoyable...
Je vais faire des essais.
Merci de ton aide,
Pierre
Ça a l'air de marcher. Je vais ajouter des lignes et refaire un test.
Le temps de prendre mon petit déj.
Pierre
 
Bonjour Constantin, le forum,

Il est aussi simple de placer la date dans une cellule !

A+
Bonjour job75,
J'ai bien sûr pensé à cette solution aussi simple que rationnelle mais dans ma liste de courses qui contient plus souvent 20 ou 30 produits, la place utilisée par la sélection est obérée par la hauteur des lignes 1 et 2. A la limite, il aurait fallu que la ligne 1 contenant la date soit insérée en lieu et place de la ligne 3, mais ce n'est pas possible parce que ça intègre la ligne dans la table et ça met le bazar... Ou alors, il faut que je diminue la hauteur de la ligne 2 pour ne pas perdre trop de place. Why not ?
Merci et bonne journée,
Pierre
 
Merci Job75,
Tu as du t'en rendre compte, si ta solution est la plus simple pour un basique comme moi, elle n'est pas très confortable pour avoir un affichage correct.
J'ai fait des essais en modifiant les dimensions de la table "liste courses" et en insérant la ligne de date sous la ligne des items en prenant bien soin de l'exclure de la table.
Ça marche mais l'espace du haut de page ne sert plus à rien. Cela m'oblige à revoir la hauteur des marges.
J'y arrive mais c'est un peu laborieux.
Merci encore et bon week-end (traduire par bonne fin de semaine)
Pierre
 
- 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

Discussions similaires

Réponses
117
Affichages
3 K
Retour