IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro pour imprimer un onglet different suivant une date


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Billets dans le blog
    1
    Par défaut Macro pour imprimer un onglet different suivant une date
    Bonjour j'ai 2 fichiers excel dans le meme dossier, je voudrais par macro
    recuperer la date du jour avec AUJOURDHUI() pour pouvoir si on est le 1, imprimer l'onglet 1 du deuxieme fichier, si on est le 2 imprimer l'onglet 2 du deuxieme fichier etc.....

    si quelqu'un sait....

    merci d'avance !

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim wbk As Workbook
    Application.ScreenUpdating = False
    Set wbk = Workbooks.Open(ActiveWorkbook.Path & "\TonDeuxiemeFichier.xls")
    Select Case Day(Date)
    Case 1: wbk.Sheets("feuil1").PrintOut
    Case 2: wbk.Sheets("feuil2").PrintOut
    End Select
    wbk.Close
    Set wbk = Nothing
    Application.ScreenUpdating = True

  3. #3
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    Bonjour,
    En reprenant le code de mercatog mais qui tiendra peut être mieu compte du etc

    si c'est bien le premier onglet pour le premier jour, et ainsi de suite, tu peux utiliser leur index plutôt que le nom
    Pour remplacer le select case

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wbk.Sheets( Day(Date)).PrintOut

  4. #4
    Membre éclairé

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Billets dans le blog
    1
    Par défaut
    ca donnerai ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim wbk As Workbook
    Application.ScreenUpdating = False
    Set wbk = Workbooks.Open(ActiveWorkbook.Path & "\TonDeuxiemeFichier.xls")
    wbk.Sheets( Day(Date)).PrintOut
    End Select
    wbk.Close
    Set wbk = Nothing
    Application.ScreenUpdating = True
    faut que j'essaie au boulot...

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Sans le End select
    à condition que tu as en permanence les feuilles à imprimer de 1 à 31 (en index)
    ou bien, nommer les feuilles Feuil1, Feuil2...Feuil31
    et faire ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton1_Click()
    Dim wbk As Workbook
    Application.ScreenUpdating = False
    Set wbk = Workbooks.Open(ActiveWorkbook.Path & "\Vendredi.xls")
    On Error Resume Next
    wbk.Sheets("Feuil" & Day(Date)).PrintOut
    wbk.Close
    Set wbk = Nothing
    Application.ScreenUpdating = True
    End Sub

  6. #6
    Membre éclairé

    Homme Profil pro
    Restaurateur
    Inscrit en
    Juin 2008
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Restaurateur
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2008
    Messages : 316
    Billets dans le blog
    1
    Par défaut
    MERCI

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/11/2014, 16h55
  2. [XL-2007] Macro VBA pour imprimer plusieurs onglets sur une feuille recto verso
    Par oekoniko dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/03/2014, 15h24
  3. Macro pour imprimer des elements à partir d'une feuille excel
    Par SATDVB dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/08/2013, 06h49
  4. [XL-2007] Créer une macro pour supprimer des onglets dans un autre classeur
    Par nicosd54 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/03/2011, 10h01
  5. Erreur d'éxécution d'une macro pour renommer un onglet
    Par cuterate dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/10/2009, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo