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

Signaler
-
Messages postés
69
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
12 juin 2020
-
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,

6 réponses

Messages postés
15272
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 août 2020
1 328
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
Messages postés
15272
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 août 2020
1 328
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
Messages postés
69
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
12 juin 2020

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...
Messages postés
15272
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 août 2020
1 328
Re,
Ben evident, pour les dates vous regardez ou pas??

Vous connaissez un peu la programmation en general et VBA en particulie
Messages postés
69
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
12 juin 2020

pas vraiment, je début , je lis et j'apprends...
Messages postés
15272
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 août 2020
1 328
Re,

Question: la semaine est celle de la date du jour ou une autre date
Messages postés
69
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
12 juin 2020

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?
Messages postés
15272
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
13 août 2020
1 328
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
Messages postés
69
Date d'inscription
samedi 15 août 2009
Statut
Membre
Dernière intervention
12 juin 2020

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