Afficher un numéro de semaine dans un en tete et les dates

Résolu
guilau24 -  
guillaume gdco Messages postés 75 Statut Membre -
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

  1. guilau24
     
    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
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
      0
  2. guillaume gdco Messages postés 75 Statut Membre
     
    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...
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,
      Ben evident, pour les dates vous regardez ou pas??

      Vous connaissez un peu la programmation en general et VBA en particulie
      0
  3. guillaume gdco Messages postés 75 Statut Membre
     
    pas vraiment, je début , je lis et j'apprends...
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      Question: la semaine est celle de la date du jour ou une autre date
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. guillaume gdco Messages postés 75 Statut Membre
     
    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?
    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
      
      0
  6. guillaume gdco Messages postés 75 Statut Membre
     
    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
    0