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 :

Lancer une impression feuille via VBA [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Par défaut Lancer une impression feuille via VBA
    Bonjour,

    J’ai besoin de mettre un complément à mon code VBA que j’ai déjà dans un fichier qui archive la feuille sur un partage réseau
    J’ai besoin de rajouter un commende qui permet de lancer l’impression ensuite archivé la feuille dans le partage ci-dessous le code qui j’ai de l’archivage :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Archivage()
     
    n = Range("D12")
    m = Range("D1")
        Sheets("Débriefing").Select
        Sheets("Débriefing").Copy
        Selection.Copy
        Sheets("Débriefing").Select
        Sheets("Débriefing").Name = Range("D12")
        Application.CutCopyMode = False
        ActiveWorkbook.SaveAs Filename:= _
            "\\Af-fes-fs-01\commun\Commun SAI\Fiche de débriefing Hebdo\10- Octobre\ " & m & n & ".xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        ActiveWindow.Close
    End Sub

  2. #2
    Expert confirmé
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Par défaut
    Salut, l'enregistreur de macros te fournira un embryon de code. Le code que tu fournis parait boiteux et contient des surabondances inutiles.

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Histoire de nettoyer ton code de ce qui est inutile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Archivage()
        With Sheets("Débriefing")
            .Name = .Range("D12")
        End With
        ActiveWorkbook.SaveAs Filename:= _
            "\\Af-fes-fs-01\commun\Commun SAI\Fiche de débriefing Hebdo\10- Octobre\ " & m & n & ".xlsx", _
            FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
        ActiveWindow.Close
    End Sub
    Ca devrait faire exactement la même chose que ton code.

    Personnellement, j'aurais volontier aussi supprimé la ligne ActiveWindow.Close qui me semble dangereuse.

    Pour ce qui est de l'impression, il suffit d'appliquer la méthode PrintOut à l'objet Worksheet que tu veux imprimer ou à ActiveWorkbook si tu veux imprimer le classeur entier (tu ne le précises pas dans la question).
    Regarde la syntaxe de cette méthode dans l'aide VBA intégrée à Excel.
    Tu peux aussi regarder ça : http://silkyroad.developpez.com/VBA/...lcul/#LII-A-19

  4. #4
    Membre confirmé
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Par défaut
    bonjour
    merci bcq pour le nettoyage de mon code j'ai rajouter le code ci dessous pour lancer l'impression mais ca marche toujours pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Débriefing").PrintOut
    merci d'avance

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Premièrement, as-tu regardé la syntaxe de la méthode PrintOut dans l'aide VBA d'Excel ?
    Balancer comme ça du code dans son programme sans même savoir exactement ce que ça fait ni comment ça s'utilise, c'est rarement une bonne idée.

    j'ai rajouter le code ci dessous pour lancer l'impression mais ca marche toujours pas :
    Tu demandes à ton code d'imprimer une feuille en lui donnant un nom que tu as changé juste avant.
    Tu n'as pas l'impression qu'il y a une bizarrerie là-dedans ?

  6. #6
    Membre confirmé
    Homme Profil pro
    DATAMINER
    Inscrit en
    Novembre 2014
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : DATAMINER
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2014
    Messages : 147
    Par défaut
    bonjour j'ai trouver une solution tres simple il faut just ajouter le code ci dessous a la fin du code et ca marche

    mon but moi d'imprimer la feuille sur la quel je suis.
    merci de votre aide et pour les informations donné.

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

Discussions similaires

  1. [AC-2010] problème pour lancer une application access via un menu en VBA
    Par Bmichel59 dans le forum VBA Access
    Réponses: 1
    Dernier message: 28/10/2014, 18h58
  2. [AC-2007] Peut-on lancer une impression d'écran par un code en VBA?
    Par Triton972 dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/12/2011, 14h12
  3. [AC-2007] Lancer une macro excel via VBA?
    Par EmmanuelleC dans le forum VBA Access
    Réponses: 4
    Dernier message: 10/09/2010, 11h47
  4. lancer une impression d'un état en code vba
    Par titi_la_vermine dans le forum VBA Access
    Réponses: 1
    Dernier message: 25/08/2010, 18h42
  5. [debutant] lancer une impression d'un pdf en VC++
    Par seb-astien dans le forum MFC
    Réponses: 2
    Dernier message: 06/06/2005, 15h44

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