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

IHM Discussion :

Impression de code-barre Zebra en VBA [AC-2010]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Impression de code-barre Zebra en VBA
    Bonjour à tous,

    Pour répondre au besoin de mon entreprise, j'ai décidé de créer un formulaire permettant d'imprimer un code-barres de access jusqu’à une imprimante ZEBRA ZT410.
    Je viens ici en dernier recours car même en ayant consulté des FAQ, d'ancienne discussion traitant du même sujet.
    Je n'arrive pas à m'en sortir.
    Pour imprimer sur zebra, je veux que mon programme ouvre un document texte en écriture, colle le programme en langage ZPL et imprime directement ce texte sur une imprimante par défaut.
    Mais quand j’exécute mon programme rien ne se passe et il y a un message d'erreur qui s'affiche "erreur de compilation variable non définie".
    Pour régler ce problème, je suis allé dans Outils >> Options >> Paramètres du code >> Cocher déclaration des variables obligatoires.
    Mais cela n'a pas réglé le problème.
    Pour mieux comprendre, j'ai mis des commentaires.
    Je tiens à préciser que je suis débutant.
    Donc je pense avoir fait des erreurs grossières.

    Pouvez-vous m'aider, s'il-vous-plaît ?

    Merci pour vos réponses,

    Cordialement.

    PS : Voici le code

    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
    64
    65
     Option Compare Database
     Option Explicit
     
    Function Impression_Zebra1()
     
    'Déclaration de la variable et du type
        'Variable : NomFichier ; Type : Texte
        Dim NomFichier As String
        'Variable : intFic ; Type : Nombre entier
        Dim intFic As Integer
        'Variable : ImpCherche ; Type : Objet (imprimante par défaut)
        Dim ImpCherche As Printer
        'Variable : Imprimante trouvée ; Type : True(Vrai)/False(Faux)
        Dim ImprimanteTrouvée As Boolean
        'Variable : NumImp ; Type : Nombre entier
        Dim NumImp As Integer
        'Variable : Compteur ; Type : Nombre entier
        Dim Compteur As Integer
     
    'Fournir un numéro de fichier non utilisé
    intFic = FreeFile
     
    'Chemin d'accès
    NomFichier = "C:\Desktop\Documentrelaiimpressionétiquette.txt"
     
    'Ouvrir le document texte en écriture (vidé à chaque ouverture)
    Open NomFichier For Output As intFic
     
    'Écrire le programme ZPL (Saut de ligne automatique)
            Print #intFic, "^XA"
            Print #intFic, "^A0N,52,52^FO245,50^FDtxtChaineCaractere^FS"
            Print #intFic, "^BY2^FO230,115^BCN,120,N,N,N^FDtxtChaineCaractere^FS"
            Print #intFic, "^XZ"
     
            'Fermeture du document texte
            Close #intFic
     
            ImprimanteTrouvée = False
            'Initialisation des variables
     
            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 = "ZEBRA MAINT" Then
                    ImprimanteTrouvée = True
                    strPORT = ImpCherche.Port
                    Exit For
                End If
                Compteur = Compteur + 1
            Next ImpCherche
     
            If ImprimanteTrouvée Then
                FileCopy NomFichier, strPORT
            Else
                MsgBox "L'Imprimante nommée ZEBRA MAINT n'a pas été trouvée", vbOKOnly, "erreur de configuration"
            End If
     
    Erreur:
            MsgBox Err.Number & " : " & Err.Description
     
             DoCmd.Echo True
     
    'Fin de la procédure
    End Function

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 338
    Points : 23 797
    Points
    23 797
    Par défaut
    Bonjour.

    Ton code à l'oeil semble correct.

    Va dans l'éditeur de code et dans le menu Débogage et choisi Compiler.
    Access va vérifier ton code et signaler où il trouve un problème.

    Note que la déclaration obligatoire des variables n'a une influence que sur les nouveaux modules.
    Si ton module a été créé avant, cela ne le modifie pas.
    Dans un module où cette option est réellement active, il y a Option Explicit en tout début.
    Si cette option n'est pas là, ajoute la à la main.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Merci pour votre aide.

    j'ai fais ce que vous m'avez dit de faire (Débogage >> Compiler code barre)

    J'ai mis l'erreur en bleue dans le code, ce que m'indique access comme erreur.

    Access m'indique "erreur de compilation : variable non définie".

    la variable strPORT non definie.

    Est-ce qu'il faut indiquer sur quel port est l'imprimante ?

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
     Option Compare Database
     Option Explicit
     
    Function Impression_Zebra1()
    
    'Déclaration de la variable et du type
        'Variable : NomFichier ; Type : Texte
        Dim NomFichier As String
        'Variable : intFic ; Type : Nombre entier
        Dim intFic As Integer
        'Variable : ImpCherche ; Type : Objet (imprimante par défaut)
        Dim ImpCherche As Printer
        'Variable : Imprimante trouvée ; Type : True(Vrai)/False(Faux)
        Dim ImprimanteTrouvée As Boolean
        'Variable : NumImp ; Type : Nombre entier
        Dim NumImp As Integer
        'Variable : Compteur ; Type : Nombre entier
        Dim Compteur As Integer
        
    'Fournir un numéro de fichier non utilisé
    intFic = FreeFile
    
    'Chemin d'accès
    NomFichier = "C:\Users\loiseaua.EUOTIS\Desktop\Documentrelaiimpressionétiquette.txt"
    
    'Ouvrir le document texte en écriture (vidé à chaque ouverture)
    Open NomFichier For Output As intFic
    
    'Écrire le programme ZPL (Saut de ligne automatique)
            Print #intFic, "^XA"
            Print #intFic, "^A0N,52,52^FO245,50^FDtxtChaineCaractere^FS"
            Print #intFic, "^BY2^FO230,115^BCN,120,N,N,N^FDtxtChaineCaractere^FS"
            Print #intFic, "^XZ"
            
            'Fermeture du document texte
            Close #intFic
    
            ImprimanteTrouvée = False
            'Initialisation des variables
            
            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 = "ZEBRA MAINT" Then
                    ImprimanteTrouvée = True
                    strPORT = ImpCherche.Port
                    Exit For
                End If
                Compteur = Compteur + 1
            Next ImpCherche
     
            If ImprimanteTrouvée Then
                FileCopy NomFichier, strPORT
            Else
                MsgBox "L'Imprimante nommée ZEBRA MAINT n'a pas été trouvée", vbOKOnly, "erreur de configuration"
            End If
     
    Erreur:
            MsgBox Err.Number & " : " & Err.Description
     
             DoCmd.Echo True
    
    'Fin de la procédure
    End Function

  4. #4
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Bonjour,
    au début de ton code, il manque un et j'imagine que cela doit être une chaine de caractères de texte donc Tu dois mettre ça au début, là où tu as les "Dim NomFichier As string...... Dim intFic As Integer..."

    La déclaration doit être avant l'utilisation elle-même de la variable. Il est de bonne pratique de le faire au début du code. On définit toutes les variables au début du code.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Suite à votre conseil, c'est ce que j'ai fait, j'ai ajouté la déclaration de la variable "strPORT".

    Quant j’exécute le programme, le logiciel n'indique pas d'erreur.

    Dans mon programme, est-ce que le document texte s'ouvre en invisible ?

    Car le document ne s'ouvre pas quand j’exécute le programme.

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     Option Compare Database
     Option Explicit
     
    Function Impression_Zebra1()
     
    'Déclaration de la variable et du type
        'Variable : NomFichier ; Type : Texte
        Dim NomFichier As String
        'Variable : intFic ; Type : Nombre entier
        Dim intFic As Integer
        'Variable : ImpCherche ; Type : Objet (imprimante par défaut)
        Dim ImpCherche As Printer
        'Variable : Imprimante trouvée ; Type : True(Vrai)/False(Faux)
        Dim ImprimanteTrouvée As Boolean
        'Variable : NumImp ; Type : Nombre entier
        Dim NumImp As Integer
        'Variable : Compteur ; Type : Nombre entier
        Dim Compteur As Integer
        'Variable : NomFichier ; Type : Texte
        Dim strPORT As String
     
    'Fournir un numéro de fichier non utilisé
    intFic = FreeFile
     
    'Chemin d'accès
    NomFichier = "C:\Users\loiseaua.EUOTIS\Desktop\Documentrelaiimpressionétiquette.txt"
     
    'Ouvrir le document texte en écriture (vidé à chaque ouverture)
    Open NomFichier For Output As intFic
     
    'Écrire le programme ZPL (Saut de ligne automatique)
            Print #intFic, "^XA"
            Print #intFic, "^A0N,52,52^FO245,50^FDtxtChaineCaractere^FS"
            Print #intFic, "^BY2^FO230,115^BCN,120,N,N,N^FDtxtChaineCaractere^FS"
            Print #intFic, "^XZ"
     
            'Fermeture du document texte
            Close #intFic
     
            ImprimanteTrouvée = False
            'Initialisation des variables
     
            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 = "ZEBRA MAINT" Then
                    ImprimanteTrouvée = True
                    strPORT = ImpCherche.Port
                    Exit For
                End If
                Compteur = Compteur + 1
            Next ImpCherche
     
            If ImprimanteTrouvée Then
                FileCopy NomFichier, strPORT
            Else
                MsgBox "L'Imprimante nommée ZEBRA MAINT n'a pas été trouvée", vbOKOnly, "erreur de configuration"
            End If
     
    Erreur:
            MsgBox Err.Number & " : " & Err.Description
     
             DoCmd.Echo True
     
    'Fin de la procédure
    End Function

  6. #6
    Membre confirmé
    Inscrit en
    Février 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 465
    Points : 549
    Points
    549
    Par défaut
    Oui, tu ne verras pas à l'écran que ton PC est en train d'écrire un fichier texte.
    Tu peux vérifier que ce fichier a été créé avec le File Explorer de Windows. Regarde bien la date. L'heure correspond-elle à l'heure où tu as utilisé ton programme ?

  7. #7
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 338
    Points : 23 797
    Points
    23 797
    Par défaut
    Bonjour.

    Et comme c'est un fichier texte, tu dois pouvoir le visualiser en utilisant Notepad (Bloc note) qui est intégré Windows.
    Tu ouvres Notepad et tu choisis ensuite le fichier que tu veux voir.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Désolé de répondre tardivement.

    Selon vos conseils (PipoWIL & marot r), j'ai vérifié sur le notepad donc je trouve bien mon texte " programme ZPL" collé dans le fichier texte.

    Mais j'ai un problème, le document texte ne s'imprime pas automatiquement quand je lance le programme.

    Pourtant le Filecopy ne permet-il pas l'impression ?

    Merci

    Ps : Voici le code
    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
    64
    65
    66
    67
    68
     Option Compare Database
     Option Explicit
     
    Function Impression_Zebra1()
    
    'Déclaration de la variable et du type
        'Variable : NomFichier ; Type : Texte
        Dim NomFichier As String
        'Variable : intFic ; Type : Nombre entier
        Dim intFic As Integer
        'Variable : ImpCherche ; Type : Objet (imprimante par défaut)
        Dim ImpCherche As Printer
        'Variable : Imprimante trouvée ; Type : True(Vrai)/False(Faux)
        Dim ImprimanteTrouvée As Boolean
        'Variable : NumImp ; Type : Nombre entier
        Dim NumImp As Integer
        'Variable : Compteur ; Type : Nombre entier
        Dim Compteur As Integer
        'Variable : NomFichier ; Type : Texte
        Dim strPORT As String
        
    'Fournir un numéro de fichier non utilisé
    intFic = FreeFile
    
    'Chemin d'accès
    NomFichier = "C:\Users\loiseaua.EUOTIS\Desktop\Documentrelaiimpressionétiquette.txt"
    
    'Ouvrir le document texte en écriture (vidé à chaque ouverture)
    Open NomFichier For Output As intFic
    
    'Écrire le programme ZPL (Saut de ligne automatique)
            
            Print #intFic, "^XA"
            Print #intFic, "^A0N,52,52^FO245,50^FDtxtChaineCaractere^FS"
            Print #intFic, "^BY2^FO230,115^BCN,120,N,N,N^FDtxtChaineCaractere^FS"
            Print #intFic, "^XZ"
            
            'Fermeture du document texte
            Close #intFic
    
            ImprimanteTrouvée = False
            'Initialisation des variables
            
            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 = "z40" Then
                    ImprimanteTrouvée = True
                    strPORT = ImpCherche.Port
                    Exit For
                End If
                Compteur = Compteur + 1
            Next ImpCherche
     
            If ImprimanteTrouvée Then
            FileCopy NomFichier, strPORT
            Else
                MsgBox "L'Imprimante nommée z40 n'a pas été trouvée", vbOKOnly, "erreur de configuration"
            End If
     
    Erreur:
            MsgBox Err.Number & " : " & Err.Description
     
             DoCmd.Echo True
    
    'Fin de la procédure
    End Function
    Cdt

  9. #9
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 338
    Points : 23 797
    Points
    23 797
    Par défaut
    Bonjour.

    Autant que je sache FileCopy ne fait que la copie de fichiers donc sauf si ton imprimante est vue comme un fichier, ce qui est parfois possible, il ne se passera rien.

    Que dit la doc du constructeur à ce sujet ?

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Je n'ai rien trouvé de particuliers, J'ai regardé sur la partie caractéristique de la doc ZT410.

    J'ai trouvé cette fonction sur une discussion de ce forum, ce serait une méthode d'impression.

    Est-il possible de remplacer le "Filecopy" par une fonction permettant d'imprimer le fichier document texte automatiquement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "Et_Etiquettes_Cartes", acViewPreview, , "[OK] = False AND [Id_Temp] <= " & intY * 10
    j'ai trouvé ça.

    Auriez-vous des idées, s'il-vous-plaît ?

    Merci,

    Cordialement.

  11. #11
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 338
    Points : 23 797
    Points
    23 797
    Par défaut
    Bonjour.

    À mon avis ta dernière proposition pourrait marcher si l'imprimante est vue sous le type Texte seulement (ou un truc du genre) sinon Access va envoyer des codes pour la mise en forme qui risquent de perturber ton impression.

    Tu pourrais faire un test avec Notepad, tu ouvres le fichier et tu demandes l'impression sur ta Zebra. Si cela marche tu as peut-être une solution.

    Je reviens sur la proposition d'utiliser FileCopy (j'aurai du regardé ton code avant ma dernière réponse, désolé), il faudrait qu'on sache ce que strPORT contient. La méthode la plus directe est de mettre : msgbox strPORT juste après l'assignation.

    Si c'est quelque chose comme LPT1:, alors il est possible qu'on puisse utiliser une vielle méthode d'impression.
    Si ce n'est pas LPT1: (le 1 peut être un autre chiffre, il varie de 1 à 4 de mémoire) il est peut-être possible d'assigner ce LPT1 à l'imprimante au niveau de la définition de l'imprimante sur le PC.
    On est un peu dans l'archéologie informatique mais ça marche peut-être encore.

    Il n'y a pas de support du côté du fabriquant ? Tu n'es sans doute pas le 1er à vouloir faire cela et ils ont peut-être la solution.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Pour tester, j'ai imprimer un notepad avec un programme ZPL collé dans le fichier.
    Donc l'imprimante effectue bien l'impression.

    Peut-être remplacer le FileCopy par une autre commande dans le module ?

    Et pour le port, le programme m'affiche "USB001" avec le "msgbox strPORT".

    Puis qu'en j’exécute le programme, le programme n'affiche pas "L'Imprimante nommée z40 n'a pas été trouvée", vbOKOnly, "erreur de configuration".

    Merci,

    Cdt

  13. #13
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Le problème est enfin résolu !!!

    Voici ce que que j'ai fait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    iP = Application.Printers.Count
     
    For i = 0 To iP - 1
        Set prtImprim = Application.Printers(i)
        'Debug.Print prtImprim.DeviceName
     
        If prtImprim.DeviceName = "z40" Then
            'imprimer sur cette imprimante-ci
            ShellExecute 0, "print", NomFichier, vbNullString, "", 1
        End If
        Set prtImprim = Nothing
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public 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
    Puis j'ai dû déclarer les variables i, IP, prtImprim.

    Merci de votre aide

    Cdt.

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

Discussions similaires

  1. Impression étiquettes codes barre ?
    Par donia dans le forum QuickReport
    Réponses: 4
    Dernier message: 14/03/2016, 10h20
  2. [tutoriel]Impression de code barres en VBA
    Par Loloperso dans le forum Contribuez
    Réponses: 0
    Dernier message: 13/05/2009, 23h48
  3. [VB.NET] Impression de code barre 128
    Par fuhraih dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/12/2006, 22h30
  4. Solution pour impression de codes à barres
    Par KRis dans le forum Composants VCL
    Réponses: 2
    Dernier message: 31/03/2006, 16h58
  5. [D6] Gestion et impression de code barre
    Par dridri86 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 01/12/2005, 14h17

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