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 Access Discussion :

Selectionner une imprimante spécifique pour l'édition d'un etat


Sujet :

VBA Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut Selectionner une imprimante spécifique pour l'édition d'un etat
    Bonjour,

    Je rencontre une difficulté pour la selection d'un imprimante spécifique pour l'impression d'un état.

    En résumé pour imprimer des étiquettes, je souhaite utiliser une imprimante à étiquette, et une imprimante autre pour les autres états.

    Quand je vais dans la mise en page de l'etat et que je choisi l'option imprimante spécifique, je valide. Quand je reviens dans le menu la case est cochée sur imprimante par défaut.

    Je ne comprend pas pourquoi ACCESS 2007 n'enregistre pas mon paramétrage.

    Auriez vous une exemple de code VBA qui me permettrais de forcer la sélection de l'imprimante au moment de l'impression.

    Cordialement
    Patrick

  2. #2
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut Du code à tester
    Salut,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    Dim NombreImp As Integer
    Dim ImpCherche
     
    NombreImp = Application.Printers.Count
    For Each ImpCherche In Application.Printers
        If ImpCherche.DeviceName = "ImprimanteEtiket" Then
            Set Application.Printer = Application.Printers(NumIMP)
            Exit For
        End If
    Next ImpCherche
     
    End If
    Alors il faut que l'imprimante est le même nom partout dans le cas d'un fonctionnement multiusers, ici "ImprimanteEtiket"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set Application.Printer = Nothing
    à ajouter en fin de traitement (après impression ou aperçu)
    a+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 120
    Points : 88
    Points
    88
    Par défaut
    Merci bcp de ton aide,
    J'ai apporté quelques modifs à ton code qui ne fontionnait pas totalement en l'état.
    Je ne sais si mes modifications sont très "pro" mais en cas cela fonctionne (je débute en vba".

    Voici le code utilisé
    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
     
     
    Private Sub BT_imprimeEtiquette_Click()
    Dim NumImp As Integer
    Dim ImpCherche
    Dim Compteur As Integer
    Dim ImpRecherche As String
     
    'initialisation des variables
        ImpRecherche = "DYMO LabelWriter 400 Turbo"
        Compteur = 0
        NumImp = Application.Printers.Count
     
    'Balayage de l'ensemble des imprimantes pour identifier celle que l'on cherche
        For Each ImpCherche In Application.Printers
     
            If ImpCherche.DeviceName = ImpReCherche Then
                Set Application.Printer = Application.Printers(Compteur)
                Exit For
            End If
     
        Compteur = Compteur + 1
     
        Next ImpCherche
     
    'ouverture de l'état selon critère
        Crit = "[T-Dossier].CodeDossier=" & ItemSELECTIONNE
        DoCmd.OpenReport "E-EtiquetteCodebarre", acViewNormal, , Crit
     
    'retour à l'imprimante par défaut
        Set Application.Printer = Nothing
    End Sub
    Encore Merci

    Patrick

  4. #4
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 626
    Points : 726
    Points
    726
    Par défaut Oui
    Bonjour,

    Oui c'est vrai !!
    je suis désolé j'avais trop fait le ménage dans le code ..

    A+

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

Discussions similaires

  1. Une imprimante partagée pour tous les utilisateurs
    Par iubito dans le forum Windows Serveur
    Réponses: 6
    Dernier message: 24/09/2009, 10h18
  2. [POO] Quel langage pour imprimer sur une imprimante spécifique
    Par popovitch130 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 21/03/2009, 18h44
  3. Imprimer un Etat sur une imprimante spécifique
    Par djodu69 dans le forum Access
    Réponses: 1
    Dernier message: 09/09/2008, 13h48
  4. [batch] Besoin d'aide pour selectionner une imprimante
    Par alex_m94 dans le forum Windows
    Réponses: 3
    Dernier message: 13/09/2007, 14h25
  5. Réponses: 1
    Dernier message: 30/06/2006, 15h49

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