Afficher un numéro de semaine dans un en tete et les dates [Résolu]

- - Dernière réponse : guillaume gdco
Messages postés
34
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
27 juin 2019
- 21 juin 2019 à 17:54
Bonjour,

Je souhaiterai afficher un numéro de semaine dans un en-tête à partir de la date du jour puis les dates de début et fin de semaine correspondante toujours en en-tête.

Pour le moment j'ai commencé comme ça:

With ActiveSheet.PageSetup
'en-tête de page
.LeftHeader = "&B&12Semaine XX" & Chr(10) & "Du XX au XX"
.CenterHeader = "AT - Collection ADC" & Chr(10) & "Documents en distribution"
.RightHeader = ""
'pied de page
.LeftFooter = ""
.CenterFooter = " Page &P de &N"
.RightFooter = "&D"
End With

le but est de remplacer les XX par le numéro de semaine et les dates

merci

<config>Windows / Internet Explorer 11.0</config,
Afficher la suite 

6 réponses

Messages postés
14717
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 septembre 2019
1172
Commenter la réponse de f894009
0
Merci
j'ai essayé de l'intégrer comme ceci:

With ActiveSheet.PageSetup
'en-tête de page
.LeftHeader = "&B&12Semaine XX" & Chr(10) & "Du XX au XX"
.CenterHeader = "AT - Collection ADC" & Chr(10) & "Documents en distribution"
.RightHeader = ""
'pied de page
.LeftFooter = "DatePart("ww", Now())"
.CenterFooter = " Page &P de &N"
.RightFooter = "&D"
End With

mais je dois faire une erreur, cela ne marche pas
f894009
Messages postés
14717
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 septembre 2019
1172 -
Re,
cela ne marche pas
Tout a fait Tierry, vu ce que vous avez ecrit.

.LeftFooter = "DatePart("ww", Now())" 

Pourquoi des " devant et derriere , ce que j'ai mis n'en a pas!!!!!
De plus c'est pas au bon endroit d'apres votre code de depart
Le code de calcul semaine et dates doit etre avant la ligne With

Le lien est pour avoir les dates debut/fin d'une semaine, donc a regarder
Commenter la réponse de guilau24
Messages postés
34
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
27 juin 2019
0
Merci
exact!

j'ai été trop vite.

j'ai rectifié comme ça et c'est tout bon

With ActiveSheet.PageSetup
'en-tête de page
.LeftHeader = "&B&12Semaine XX" & Chr(10) & "Du XX au XX"
.CenterHeader = "AT - Collection ADC" & Chr(10) & "Documents en distribution"
.RightHeader = ""
'pied de page
.LeftFooter = DatePart("ww", Now())
.CenterFooter = " Page &P de &N"
.RightFooter = "&D"
End With

Je l'ai mis en LeftFooter pour tester et donc ça marche, mais le but de cette première étape est d'insérer en LeftHeader dans le texte à la place des XX, j'ai naïvement replacé les XX par la formule et évidement ça ne marche pas...
f894009
Messages postés
14717
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 septembre 2019
1172 -
Re,
Ben evident, pour les dates vous regardez ou pas??

Vous connaissez un peu la programmation en general et VBA en particulie
Commenter la réponse de guillaume gdco
Messages postés
34
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
27 juin 2019
0
Merci
pas vraiment, je début , je lis et j'apprends...
f894009
Messages postés
14717
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 septembre 2019
1172 -
Re,

Question: la semaine est celle de la date du jour ou une autre date
Commenter la réponse de guillaume gdco
Messages postés
34
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
27 juin 2019
0
Merci
j'export mon fichier le vendredi pour une parution le lundi. donc c'est pour la semaine suivante.

je pense donc qu'il faut: numéro de semaine du jour + 1 j'ai bon?
f894009
Messages postés
14717
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
17 septembre 2019
1172 -
Re,
Oui, mais …….

Suite:

une facon de faire:

'--------------------------------------------------------------------
'https://grenier.self-access.com/access/dates-et-heures/dates-de-debut-et-de-fin-de-semaine/
    Dim dtDebutSemaine As Date
    Dim dtFinSemaine As Date
    
    'semaine en cours
    'dtDebutSemaine = Date + 6 - Weekday(Date + 6, vbMonday) + 1
    'dtFinSemaine = Date + 6 + 7 - Weekday(Date + 6, vbMonday)
    dtDebutSemaine = Date + 6 - Weekday(Date + 6, vbMonday) + 1     'ajout de 6 pour etre sur dans la semaine suivante
    dtFinSemaine = Date + 6 + 7 - Weekday(Date + 6, vbMonday)
'---------------------------------------------------------------------
    With ActiveSheet.PageSetup
        'en-t?te de page
        .LeftHeader = "&B&12Semaine: " & DatePart("ww", Now()) + 1 & vbNewLine & "Du " & dtDebutSemaine & " au " & dtFinSemaine
        .CenterHeader = "AT - Collection ADC" & Chr(10) & "Documents en distribution"
        .RightHeader = ""
        'pied de page
        .LeftFooter = ""
        .CenterFooter = " Page &P de &N"
        .RightFooter = "&D"
    End With
Commenter la réponse de guillaume gdco
Messages postés
34
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
27 juin 2019
0
Merci
Parfait, merci beaucoup et ça me permet de mieux comprendre mes erreurs...

je vais passer à la suite de mon projet qui est mettre en forme mon tableau
Commenter la réponse de guillaume gdco