Date sur feuille Excel

Utilisateur anonyme -  
 Utilisateur anonyme -
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

  1. Utilisateur anonyme
     
    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.
    0
  2. Utilisateur anonyme
     
    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.
    0
  3. Utilisateur anonyme
     
    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.
    0
  4. Utilisateur anonyme
     
    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
    0
    1. Utilisateur anonyme
       
      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.
      0