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 :

Imprimante non disponible


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut Imprimante non disponible
    Bonjour ,

    j'ai trouver comment oubliger access a prendre une imprimante specifique en code vba.

    Mais mon soucis c'est quand je la lance mon impression et si mon imprimante
    n'existe pas il me le balance sur une autre imprimante,

    comment rajouter un message qui dit "imprimante non connecte" et arrete l'impression.

    Voici mon code vba :

    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
     
    Private Sub Commande146_Click()
    On Error GoTo Err_Commande146_Click
     
    Dim NombreImp As Integer
    Dim ImpCherche
     
    NombreImp = Application.Printers.Count
    For Each ImpCherche In Application.Printers
        If ImpCherche.DeviceName = "Epson stylus d78 series" Then
            Set Application.Printer = Application.Printers(NumIMP)
            Exit For
        End If
    Next ImpCherche
     
        Dim stDocName As String
     
        stDocName = "ET-Etiquette prix"
        DoCmd.OpenReport stDocName, acNormal
     
     
    Exit_Commande146_Click:
        Exit Sub
     
    Err_Commande146_Click:
        MsgBox Err.Description
        Resume Exit_Commande146_Click
     
    End Sub
    si vous avez des ameliorations sur ce code je suis preneur
    Commandeur

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Bonjour,
    en utilisant une variable de type booléen, que tu passeras à True si l'imprimante est bien saisie :

    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
    Private Sub Commande146_Click()
    On Error GoTo Err_Commande146_Click
     
    Dim NombreImp As Integer
    Dim ImpCherche
    Dim ImprimanteTrouvee As Boolean
     
    NombreImp = Application.Printers.Count
    ImprimanteTrouvee = False
    For Each ImpCherche In Application.Printers
        If ImpCherche.DeviceName = "Epson stylus d78 series" Then
            Set Application.Printer = Application.Printers(NumIMP)
            ImprimanteTrouvee = True
            Exit For
        End If
    Next ImpCherche
     
        Dim stDocName As String
    If ImprimanteTrouvee Then
        stDocName = "ET-Etiquette prix"
        DoCmd.OpenReport stDocName, acNormal
    Else
        MsgBox "Pas d'imprimante", VbCritical+VbOkOnly
    End If
     
    Exit_Commande146_Click:
        Exit Sub
     
    Err_Commande146_Click:
        MsgBox Err.Description
        Resume Exit_Commande146_Click
     
    End Sub
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    super , merci de ton aide sa marche nikel

    Bon dimanche
    Commandeur

  4. #4
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    bonjour,

    j'ai un soucis avec ce code il ne marche plus sur les imprimantes en reseaux ou normale.

    sa imprime sur la premier imprimante trouve. c'est tres bizzare

    je comprend pas pourquoi?

    comment je peut le prisiser?

    ou et mon erreur?


    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
     
    Private Sub Commande143_Click()
    On Error GoTo Err_Commande143_Click
     
     
     
    Dim NombreImp As Integer
    Dim ImpCherche
    Dim ImprimanteTrouvee As Boolean
     
    NombreImp = Application.Printers.Count
    ImprimanteTrouvee = False
    For Each ImpCherche In Application.Printers
        If ImpCherche.DeviceName = "Epson stylus d78 series" Then
            Set Application.Printer = Application.Printers(NumIMP)
            ImprimanteTrouvee = True
            Exit For
        End If
    Next ImpCherche
     
        Dim stDocName As String
    If ImprimanteTrouvee Then
        stDocName = "ET-Etiquette asce"
        DoCmd.OpenReport stDocName, acNormal
    Else
        MsgBox "Imprimante non connecte", vbCritical + vbOKOnly
    End If
     
     
    Exit_Commande143_Click:
        Exit Sub
     
    Err_Commande143_Click:
        MsgBox Err.Description
        Resume Exit_Commande143_Click
     
    End Sub
    Commandeur

  5. #5
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    J'ai trouver un autre code VBA:

    il marche sur mon ordi pour l'instant

    je vais voir demain au boulo si sa marche avec les imprimantes reseaux

    par contre je ne suis pas arrive a remettre message, s'il trouve pas l'imprimante indique.

    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
    Private Sub Commande124_Click()
    On Error GoTo Err_Commande124_Click
     
     
    Dim NumImp As Integer
    Dim ImpCherche
    Dim Compteur As Integer
    Dim ImpRecherche As String
     
    'initialisation des variables
        ImpRecherche = "Epson stylus d78 series"
        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
     
        stDocName = "ET-Etiquette prix"
        DoCmd.OpenReport stDocName, acNormal
     
     
        Set Application.Printer = Nothing
     
     
    Exit_Commande124_Click:
        Exit Sub
     
    Err_Commande124_Click:
        MsgBox Err.Description
        Resume Exit_Commande124_Click
     
    End Sub
    ou faut-il mettre ceci?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Else
        MsgBox "Pas d'imprimante", VbCritical+VbOkOnly
    End If
    Merci de vos reponses
    Commandeur

  6. #6
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    J'ai trouver le probleme d'imprimante reseaux,

    en fait il faut mettre le chemin de l'imprimante

    exemple :

    \\UTILISAT-B79D\Epson stylus d78 series

    Mon soucis c'est que mon application et sur plusieurs poste
    donc deux noms differents

    \\UTILISAT-B79D\Epson stylus d78 series
    et
    Epson stylus d78 series

    je voudrai savoir si on peut lui dire de chercher un imprimante qui aurais dans le nom ''Epson"

    J'ai essayer faire ce code, mais sa ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ImpRecherche = "**Epson**"

    si on peut pas le faire ,comment je peux lui dire :

    si il trouve pas l'imprimante "Epson stylus d78 series"
    qu'il imprime sur l'imprimante "\\UTILISAT-B79D\Epson stylus d78 series"

    je prefererais le premier solution

    si vous avez une reponse.
    Merci
    Commandeur

  7. #7
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    salut,
    regarde la fonction Instr()
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  8. #8
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    ok , comment je l'utilise dans mon code?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ImpRecherche Instr()  = "**Epson**"
    Commandeur

  9. #9
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Avec l'aide en ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Instr(1,ImpCherche.DeviceName,ImpRecherche)>0 Then
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  10. #10
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    Merci de tes reponses, mais je suis tres novice de le vba voir tres mauvais


    Peut-tu me le faire sur mon code stp,

    Merci


    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
    Private Sub Commande124_Click()
    On Error GoTo Err_Commande124_Click
     
     
    Dim NumImp As Integer
    Dim ImpCherche
    Dim Compteur As Integer
    Dim ImpRecherche As String
     
    'initialisation des variables
        ImpRecherche = "Epson stylus d78 series"
        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
     
        stDocName = "ET-Etiquette prix"
        DoCmd.OpenReport stDocName, acNormal
     
     
        Set Application.Printer = Nothing
     
     
    Exit_Commande124_Click:
        Exit Sub
     
    Err_Commande124_Click:
        MsgBox Err.Description
        Resume Exit_Commande124_Click
     
    End Sub
    Ton code correspond a la premier ou a la deuxieme solutions
    Commandeur

  11. #11
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    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
    Private Sub Commande124_Click()
    On Error GoTo Err_Commande124_Click
     
     
    Dim NumImp As Integer
    Dim ImpCherche
    Dim Compteur As Integer
    Dim ImpRecherche As String
     
    'initialisation des variables
        ImpRecherche = "Epson stylus d78 series"
        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 Instr(1,ImpCherche.DeviceName, ImpRecherche)>0  Then
                Set Application.Printer = Application.Printers(Compteur)
     
     
           Exit For
     
        End If
     
        Compteur = Compteur + 1
     
        Next ImpCherche
     
    'ouverture de l'état selon critère
     
        stDocName = "ET-Etiquette prix"
        DoCmd.OpenReport stDocName, acNormal
     
     
        Set Application.Printer = Nothing
     
     
    Exit_Commande124_Click:
        Exit Sub
     
    Err_Commande124_Click:
        MsgBox Err.Description
        Resume Exit_Commande124_Click
     
    End Sub
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  12. #12
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    Merci ton aide juste une question encore, en rajoutant ce code sa me donne quoi?


    Il recheche un imprimante qui a le mot Epson?
    Commandeur

  13. #13
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Je ne comprends pas la question ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  14. #14
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    desole si je suis pas claire,

    en fait j'ai une imprimante en resaux et une imprimante en local


    mon souci c'est que mon code selectionne une imprimante par rapport a son nom.

    --Premiere solution :
    Moi je voudrais qu'il selectionne l'imprimante qui a le mot "epson" dans son nom.

    --Deuxieme solution :

    qu'il imprime sur l'imprimante qui est connecte
    soit sur "Epson stylus d78 series"
    ou "\\UTILISAT-B79D\\Epson stylus d78 series"


    ton code c'est pour faire cette action?
    Commandeur

  15. #15
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Le code fourni fais un filtre sur "Epson stylus d78 series" (ImpRecherche)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  16. #16
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    C'est a dire? filtre sur ton les noms d'imprimantes

    il recherche "Epson stylus d78 series" y compris "\\UTILISAT-B79D\\Epson stylus d78 series"?
    Commandeur

  17. #17
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Oui, par contre si les deux occurences existent, il ne sera garder que la derniere.
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  18. #18
    Membre régulier
    Inscrit en
    Août 2003
    Messages
    228
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 228
    Points : 92
    Points
    92
    Par défaut
    Merci sa marche super bien, merci de ton aide.
    Commandeur

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

Discussions similaires

  1. Projet/Options non disponible
    Par Duan dans le forum EDI
    Réponses: 2
    Dernier message: 31/05/2005, 21h32
  2. Imprimante non disponible dans QuickReport 3.0
    Par Writer dans le forum EDI
    Réponses: 1
    Dernier message: 23/05/2005, 10h30
  3. [TOMCAT] ressource non disponible
    Par mousstik dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 12/10/2004, 12h45
  4. [D8] Application serveur non disponible
    Par Keke des Iles dans le forum EDI
    Réponses: 4
    Dernier message: 27/09/2004, 12h06
  5. [CR8][Delphi6] erreur imprimante non supportée
    Par Sebastien L. dans le forum SDK
    Réponses: 3
    Dernier message: 12/09/2002, 15h42

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