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

VBA Discussion :

Choisir une imprimante avec code VBA


Sujet :

VBA

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2012
    Messages : 195
    Points : 83
    Points
    83
    Par défaut Choisir une imprimante avec code VBA
    Bonjour chers, j'ai deux états dans une application. L'un à un format A5 et l'autre un format A4. J'ai installé deux imprimantes dans mon ordinateur. L'une à des feuilles A4 et l'autre A5 . A chaque fois que je veux imprimer il faut que je choisi l'imprimante. Je voulais savoir si c'était possible créer deux bouton pour chaque imprimante. Exemple si je veux imprimer que A4 je clique sur le bouton A4 et même chose pour A5

  2. #2
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    Par défaut
    Salut, si j'ai bien compris, à adapter à ton contexte

    Test_Liste_Imprimantes_Ports permet d'obtenir une visualisation des imprimantes et ports.
    Test_Impression ici pour PDFCreator
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    Option Explicit
     
    Private Declare Function GetProfileSection& Lib "kernel32" Alias "GetProfileSectionA" ( _
                                                ByVal lpAppName As String, _
                                                ByVal lpReturnedString As String, _
                                                ByVal lngSize As Long)
     
    Private Function ListeImprimantes() As Variant
    Dim sA As String, rep As Long, cpt As Long, pos As Long, T() As String
        sA = Space(2048)
        rep = GetProfileSection("devices", sA, 2048)
        If rep > 0 Then
            sA = Trim$(Replace(sA, Chr(0), ""))
            Do Until sA = ""
                cpt = cpt + 1
                ReDim Preserve T(1 To 2, 1 To cpt)
                pos = InStr(1, sA, "=") - 1
                T(1, cpt) = Mid$(sA, 1, pos)
                pos = InStr(1, sA, ",") + 1
                T(2, cpt) = Mid(sA, pos, InStr(1, sA, ":") + 1 - pos)
                sA = Mid$(sA, InStr(1, sA, ":") + 1)
            Loop
        End If
        ListeImprimantes = Application.WorksheetFunction.Transpose(T)
    End Function
     
    Sub Test_Impression()
    Dim TabImprimantes As Variant
    Dim i As Long
     
        TabImprimantes = ListeImprimantes
     
        For i = 1 To UBound(TabImprimantes, 1)
            If TabImprimantes(i, 1) = "PDFCreator" Then
                Application.ActivePrinter = TabImprimantes(i, 1) & " sur " & TabImprimantes(i, 2)
                Exit For
            End If
        Next i
    End Sub
     
    Sub Test_Liste_Imprimantes_Ports()
    Dim sA As String, rep As Long, cpt As Long, pos As Long, T() As String
        sA = Space(2048)
        rep = GetProfileSection("devices", sA, 2048)
        If rep > 0 Then
            Feuil1.Cells.Clear
            sA = Trim$(Replace(sA, Chr(0), ""))
            Do Until sA = ""
                cpt = cpt + 1
                ReDim Preserve T(1 To 2, 1 To cpt)
                pos = InStr(1, sA, "=") - 1
                T(1, cpt) = Mid$(sA, 1, pos)
                pos = InStr(1, sA, ",") + 1
                T(2, cpt) = Mid$(sA, pos, InStr(1, sA, ":") + 1 - pos)
                sA = Mid$(sA, InStr(1, sA, ":") + 1)
     
                With Feuil1
                    .Cells(cpt, 1) = T(1, cpt)
                    .Cells(cpt, 2) = T(2, cpt)
                End With
            Loop
        End If
    End Sub
    Images attachées Images attachées  

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2012
    Messages : 195
    Points : 83
    Points
    83
    Par défaut
    Oui je pense que c'est à peut prête ce que je veux. Mais dans ton code je pense qu'il me donne la liste des imprimantes . Mais comment je peux l automatiser Le choix le l'imprimante. Dans je clique qu'il s'imprime automatiquement

  4. #4
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    Par défaut
    Si tu sais lire : à adapter à ton contexte, en y insérant la procédure d'impression idoine
    Test_Impression ici pour PDFCreator
    , tu n'auras pas du tout cuit et ce sera à toi de faire l'effort.
    Excel et l'enregistreur de macro
    A lire.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2012
    Messages : 195
    Points : 83
    Points
    83
    Par défaut
    Oui vous avez raison. J'ai compris cela que je devrai faire des efforts. je suis un débutant quand j'ai fait le remplacement. Ça ne marche pas. C'est pour cela.

  6. #6
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    Par défaut
    Ça ne marche pas
    . Ce n'est pas avec ce genre de réponse que l'on avancera.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2012
    Messages : 195
    Points : 83
    Points
    83
    Par défaut
    Ha veuillez m'excuser pour ma réponse.

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2012
    Messages : 195
    Points : 83
    Points
    83
    Par défaut
    Jais essai vraiment mais j y arrive pas désolé. C'est sur access je veux imprimer. Mais si je ne trompe pas ton code est applicable sur un fichier Excel. Je suis carement un débutant dons j'ai vramien du mal. En plus les imprimantes sont en reseau. Comprenne moi

  9. #9
    Expert éminent sénior
    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
    Points : 11 274
    Points
    11 274
    Par défaut
    J'en suis fort aise. Je n'ai pas Access. Si tu cherches et poses ta question sur le bon forum .....
    Une simple recherche me conduit ici ou

  10. #10
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    195
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2012
    Messages : 195
    Points : 83
    Points
    83
    Par défaut
    Salut à vous. Je tiens à vous dire grand merci pour votre aide vue mon niveau débutant en access. J'ai pu aboutir à quelque chose. Seul le travail paie. Encore merci.
    mais il y a un problème toujours j'ai utiliser ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Public Sub Imprim()
    Dim wsn
    Set wsn = CreateObject("WScript.Network")
    wsn.SetDefaultPrinter "PDFCreator"
     DoCmd.OpenReport "état1"
    wsn.SetDefaultPrinter "HP LaserJet 1018"
     DoCmd.OpenReport "état2", acViewPreview
    End Sub
    Mais quand je veux utiliser les imprimantes en ré sauf sa ne fonctionne pas. Je ne sais pas pourquoi. Si quelqu'un a la gentillesse de m'aider encore sa me fera beaucoup de bien. Merci d'avance pour votre compréhension

Discussions similaires

  1. [Etat]Choisir une imprimante
    Par libremax dans le forum IHM
    Réponses: 1
    Dernier message: 04/04/2007, 15h49
  2. Developper une GUI avec Code::Blocks
    Par sylv_1 dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 10/03/2007, 14h37
  3. Imprimer la structure d'une base sans code vba
    Par steph141 dans le forum Access
    Réponses: 2
    Dernier message: 06/04/2006, 22h30
  4. Prob pour exporter une macro en code VBA
    Par electrosat03 dans le forum Access
    Réponses: 6
    Dernier message: 04/02/2006, 19h15
  5. [Key.isDown] Controler une touche avec code ascii
    Par arnolem dans le forum Flash
    Réponses: 3
    Dernier message: 30/01/2006, 14h34

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