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

 

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    juin 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2018
    Messages : 14
    Points : 9
    Points
    9

    Par défaut Comment imprimer un fichier à partir d'un lien en ouvrant la fenêtre d'impression

    Bonjour à tous,

    J'ai ne maitrise pas bien les impressions en vba voir même pas du tout. Je voudrais dans mon cas pourvoir imprimer des fichiers dont leurs liens sont dans des cellules d'un tableau structuré en ouvrant la fenêtre d'impression afin que l'utilisateur puisse choisir l'imprimante et les options d'impression. Pour le moment, la fenêtre s'ouvre mais c'est pour gérer l'impression de la feuille et les fichiers s'impriment sans que j'ai accès aux paramètres d'impression. En réalité, je ne veut même pas imprimer la feuille mais seulement les fichiers liés. Je pense que c'est très simple mais je ne connais pas suffisamment pour connaitre le code qu'il faut mettre. Pour le moment, j'ai fait le code pour que les paramètres d'impression s'affiche à chaque document. Est-il possible de gérer toutes les impressions en ouvrant la fenêtre d'impression qu'une seul fois?

    Voici un fichier exemple:

    Impression liens.xlsx

    Je vous remercie par avance pour votre aide.

    Johann.

  2. #2
    Expert éminent
    Homme Profil pro
    Inscrit en
    août 2010
    Messages
    3 081
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 3 081
    Points : 6 224
    Points
    6 224

    Par défaut

    Bonjour,

    Regardes du coté de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Application.Dialogs(xlDialogPrint).Show

  3. #3
    Membre extrêmement actif
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    13 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 13 060
    Points : 20 059
    Points
    20 059
    Billets dans le blog
    1

    Par défaut re

    salut
    Pour le moment, la fenêtre s'ouvre mais c'est pour gérer l'impression de la feuille et les fichiers s'impriment sans que j'ai accès aux paramètres d'impression. En réalité, je ne veut même pas imprimer la feuille mais seulement les fichiers liés
    je suis pas sur! (pas du tout meme) de comprendre ??????

    par contre si tu a le code pour ouvrir la boite de dialog de parametre de l'imprimante (WINDOWS!!!)et non la boite de dialog de excel je suis preneur

    @theze
    je suis pas sur que les parametres soit memorisés pour imprimer un fichier externe car en natif ca n'existe pas en vba puisque utilisation d'api ou object pour imprimer un fichier externe a l'application excel
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    juin 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2018
    Messages : 14
    Points : 9
    Points
    9

    Par défaut

    Bonjour Theze, Bonjour Patrick,

    @Theze:
    J'utilise bien la ligne de code que tu indique mais cela gère la feuille de calcul active et non les liens. Il est probable que je l'utilise de la mauvaise manière.

    @patrick:
    Pardon je me suis certainement mal exprimé. Je souhaite imprimer des documents dont les liens sont dans le tableau. Avec mon code, il s'imprime mais je ne peux pas choisir l'imprimante. Les documents s'imprime sans me poser de question. Je souhaiterais pouvoir au moins diriger les documents vers l'imprimante de mon choix. La ligne de code que m'indique Theze imprime la feuille active.
    J'aimerais savoir s'il y a une solution?

    Je vous remercie par avance.

    Johann

  5. #5
    Membre extrêmement actif
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    13 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 13 060
    Points : 20 059
    Points
    20 059
    Billets dans le blog
    1

    Par défaut re

    a ben voila c'est plus clair

    c'est donc bien ce que je dis ca concerne les boites de dialog externe a vba excel
    j'ai donné une solution simple il n'y a pas tres longtemps


    je redonne donc un exemple qui te permet de changer non pas l'imprimante par defaut d'excel mais celle de windows
    quand a la boite de dialog vu la simplicité de ce qui suit je ne crois pas que cela te sera utile
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
    Function ImprimerFichier(ByVal Fichier As String)
        ShellExecute FindWindow("XLMAIN", Application.Caption), "print", Fichier, "", "", 1
        Application.Wait (Now + TimeValue("0:00:03"))
         Shell "Taskkill /im AcroRd32.exe /f", 0'au cas ou ton reader pdf s'enclanche
    End Function
    Sub test()
     Dim Fichier$
     Fichier = "C:\Users\polux\Desktop\PDF bordereau IJSS 2 .pdf"
        ImprimerFichier Fichier
    End Sub
     
     
    '-------------------------------------------------
    'pour changer d'imprimante WINDOWS!!!
     
    Sub imprimante_reelle()
    Set imprim = CreateObject("WScript.Network")
    imprim.SetDefaultPrinter "EPSON XP-243 245 247 Series"
    End Sub
    '
    Sub imprimante_virtuelle_pdf()
    Set imprim = CreateObject("WScript.Network")
    imprim.SetDefaultPrinter "Bullzip PDF Printer"
    End Sub
    tu dois mettre le nom de ton imprimante , tel qu'il est dans panneau de configuration -> gestionnaire phériphériques imprimantes
    ;)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    juin 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2018
    Messages : 14
    Points : 9
    Points
    9

    Par défaut

    Bonjour Patrick,

    Merci pour ta réponse mais je ne comprends pas ton code. Quand j'entre ton code dans mon fichier et met le nom d'une autre imprimante que celle par défaut dans "Sub imprimante-reelle", cela ne fonctionne pas. Ça s'imprime toujours sur l'imprimante par défaut. De plus, j'aimerais savoir s'il y a un moyen d'ouvrir une fenêtre avec la liste des imprimantes de la société pour pouvoir en sélectionner une car tous les utilisateurs de l'entreprise se servent d'imprimantes différentes et pas toujours la même.

    Je te remercie par avance.

    Johann

  7. #7
    Membre extrêmement actif
    Avatar de patricktoulon
    Homme Profil pro
    cuisiniste
    Inscrit en
    avril 2009
    Messages
    13 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : avril 2009
    Messages : 13 060
    Points : 20 059
    Points
    20 059
    Billets dans le blog
    1

    Par défaut re

    RE

    LISTER LES IMPRIMANTS DISPOS DE WINDOWS POUR LE PC
    modele avec WMI
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub listimpriomante2WMI()
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer", , 48)
    For Each objItem In colItems
        Debug.Print "imprimante :" & objItem.Name & "--par Default:  " & objItem.Default
    Next
    End Sub
    modele avec l'object wscript.network

    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
    16
    17
    18
    19
    20
    21
    Sub liste_imprimante()
    Dim Wshnet, mesPrinters, sStep1, sStep2, sNomImp, i
    Set Wshnet = CreateObject("WScript.Network")
    Set mesPrinters = Wshnet.EnumPrinterConnections
    If (mesPrinters.Count <> 0) Then
            For i = 0 To mesPrinters.Count - 1 'step 2
                    If i Mod 2 <> 0 Then
                    sStep1 = mesPrinters(i)
                            If sStep1 = sStep2 Then
                                    sNomImp = sStep1
                            Else
                                    sNomImp = "port : " & sStep2 & " imprimante : " & sStep1
                            End If
                    Debug.Print sNomImp
                    End If
                    If i Mod 2 = 0 Then
                            sStep2 = mesPrinters(i)
                    End If
            Next
    End If
    End Sub
    savoir quelle est l'imprimante actuellement par defaut de WINDOWS!!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub sur_quelle_imprimante_je_suis2WMI()
    Const ATTR_DEFAULT = 4
    strComputer = "."
    Set oWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colPrinters = oWMI.ExecQuery("SELECT * FROM Win32_Printer")
    For Each oPrinter In colPrinters
        If oPrinter.Attributes And ATTR_DEFAULT Then
            Debug.Print Trim(oPrinter.Name)
        End If
    Next
    End Sub
    AVEC CA !!! tu pourrais tres bien te faire ta propre boite de dialog vba dans un userform avec une des sub liste et une des sub que je t'ai donné touit a l'heure (un usf,une (combo/list)box,un bouton )

    ca me donne l'idée tient
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Comment imprimer un fichier Pdf directement à partir de Delphi ?
    Par toumoham dans le forum API, COM et SDKs
    Réponses: 11
    Dernier message: 07/12/2005, 15h28
  2. [Impression]Comment imprimer un fichier HTML
    Par joes_bushi dans le forum Général Java
    Réponses: 3
    Dernier message: 17/11/2005, 09h00
  3. [C#] Comment imprimer un fichier .pdf ?
    Par petoulachi dans le forum C#
    Réponses: 9
    Dernier message: 05/10/2005, 15h30
  4. Comment imprimer un fichier text existant?
    Par AODRENN dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 17h26

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