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.
A voir également:

4 réponses

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