Date sur feuille Excel

Bonjour,
J’ai une feuille Excel (de remise et de prise de service) qui doit être émargée tous les jours.
Elle est imprimée en plusieurs exemplaires (autant que de jours dans le mois) pour en faire une sorte de « cahier ».
Pour l’instant, on est obligé de remplir une partie de la date à la main (le jour ainsi que le quantième du mois) dans la zone correspondante laissée en blanc.
J’aimerais lancer l’impression de toutes les feuilles pour le mois à venir , mais avec la date complète (pour chaque jour du mois).
Est-ce possible et si oui de quelle manière ?
Merci de vos conseils.
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  • Votes
  • Date
  • Date décroissante
  1. Bonjour,
    J’ai une feuille Excel (de remise et de prise de service) qui doit être émargée tous les jours.
    Elle est imprimée en plusieurs exemplaires (autant que de jours dans le mois) pour en faire une sorte de « cahier ».
    Pour l’instant, on est obligé de remplir une partie de la date à la main (le jour ainsi que le quantième du mois) dans la zone correspondante laissée en blanc.
    J’aimerais lancer l’impression de toutes les feuilles pour le mois à venir , mais avec la date complète (pour chaque jour du mois).
    Est-ce possible et si oui de quelle manière ?
    Merci de vos conseils.
    1. Bonjour,

      Oui, c'est possible par VBA, une macro.

      Step 1 - Postionner vous sur la feuille à imprimer
      Step 2 - Lancer l'enregistreur de macro
      ..............Menu Excel
      ..............// Outils / Macro / Nouvelle macro ...
      Step 3 - Pointé la cellule A1 de la feuille "rem_pri_ser"
      Step 4 - Modifé manuellement le(s) champ(s) date a 31 jours plus loin.
      Step 5 - Lancer l'impression d'une feuille
      Step 6 - Arrêter l'enregistreur de macro

      Lancer une sous-application à Excel, VBE
      Menu Excel
      // Outils / Macro / Visual Basic Editor
      Fenêtre de gauche partie haute
      Projet - VBA Projet
      Repérer le nom de votre classeur
      Ouvrir +
      Repérer Modules
      Ouvrir +
      Repérer Module1 et double clic sur celui-ci.

      Le code de la macro devrait apparaître
      dans la fenêtre de droite, faites un
      copier / coller du code et je vous le modife
      pour faire ce que vous voulez.

      Lupin.
      1. Re-bonsoir

        Bon. Me revoilà.
        Tout d'abord merci pour ces explications précises.
        J'espère avoir fait la manip correctement.
        Voici le résultat :

        Sub Macro1()
        '
        ' Macro1 Macro
        ' Macro enregistrée le 15/04/2008 par *
        '

        '
        Range("E6:J6").Select
        ActiveCell.FormulaR1C1 = "=DATE(2008,5,1)"
        Range("E6:J6").Select
        ActiveCell.FormulaR1C1 = "=DATE(2008,5,1)"
        Range("E6:J6").Select
        ActiveCell.FormulaR1C1 = "=DATE(2008,5,31)"
        Range("H8").Select
        Application.ActivePrinter = "Microsoft Office Document Image Writer sur Ne00:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
        "Microsoft Office Document Image Writer sur Ne00:", Collate:=True
        End Sub

        J'avoue que c'est un peu trop compliqué à piger pour moi, mais je vais suivre vos indications pas à pas.

        Merci.
        1. Re:

          ici la date est changé dans les mêmes cellules :

          Range("E6:J6").Select
          ActiveCell.FormulaR1C1 = "=DATE(2008,5,1)"
          Range("E6:J6").Select
          ActiveCell.FormulaR1C1 = "=DATE(2008,5,1)"
          Range("E6:J6").Select
          ActiveCell.FormulaR1C1 = "=DATE(2008,5,31)"

          donc ça revient a lire :
          Range("E6:J6").Value = "=DATE(2008,5,31)" 
          


          j'ai transformé cette ligne par :
          Range("E6:J6").Value = "=DATE(" & AnneeCourante & "," & MoisCourant & "," & JourDuMois & ")"
          


          Étant placé dans une boucle While, la variable JourDuMois est incrémenté à chaque tour.

          Vous avex donc des dates de E6 à J6.

          voci le code modifié, quelque soit le jour de l'ouverture du classeu, celui-ci imprime une feuille
          pour chaque jour du moir.

          Option Explicit
          
          Sub ImpressionDuMois()
          
              Dim DateDuJour As Date
              Dim DateDuMoisProchain As Date
              Dim PremierDuMoisProchain As Date
              Dim JourSuivant As Date
              Dim JourDuMois As Long
              Dim MoisCourant As Long
              Dim MoisSuivant As Long
              Dim AnneeCourante As Long
          
              DateDuJour = Date
              AnneeCourante = Year(DateDuJour)
              MoisCourant = Month(DateDuJour)
              MoisSuivant = (MoisCourant + 1)
              JourDuMois = 1
              PremierDuMoisProchain = _
                  Format(AnneeCourante & "-" & MoisSuivant & "-" & "1", "yyyy-mm-dd")
              DateDuJour = Format(AnneeCourante & "-" & MoisCourant & "-" & "1", "yyyy-mm-dd")
          
              While (DateDuJour < PremierDuMoisProchain)
                  Range("E6:J6").Value = _
                      "=DATE(" & AnneeCourante & "," & MoisCourant & "," & JourDuMois & ")"
              
                  Application.ActivePrinter = "Microsoft Office Document Image Writer sur Ne00:"
                  ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
                      "Microsoft Office Document Image Writer sur Ne00:", Collate:=True
              
                  DateDuJour = (DateDuJour + 1)
                  JourDuMois = (JourDuMois + 1)
              Wend
                  
          
          End Sub
          '
          


          Pour Lancer la macro.

          Pointer la feuille à imprimer :
          Menu Excel
          // Outils / Macro / Macro ...
          Sélectionner Impression du mois et cliquer sur Exécuter.

          Lupin
          1. Bonsoir
            Je vais essayer de me débrouiller avec tout ça (j'avoue que j'ai bien peur de ne pas pouvoir suivre.....)
            Merci beaucoup pour tout ce que tu as fais.