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 :

Créer des codes-barres 128 en VBA [Tutoriel]


Sujet :

VBA Access

  1. #61
    Membre averti
    Femme Profil pro
    Ingénieur Biomédical
    Inscrit en
    Août 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Biomédical

    Informations forums :
    Inscription : Août 2018
    Messages : 30
    Par défaut
    Bonjour.
    As-tu attribué les sub à chaque bouton ???
    Dans les propriétés du bouton onglet Événement ligne au clic As-tu sélectionné procédure événementielle ???
    Alors je n'avais pas sélectionné procédure événementielle pour un des deux bontons, mais je pense qu'il y a un autre problème car ni le libellé ni le code ne s'affiche sur l'état..
    J'utilise access 2016, peut-il y avoir des problèmes de compatibilité du code ?

    Merci beaucoup

  2. #62
    Membre confirmé
    Homme Profil pro
    Technicien de laboratoire
    Inscrit en
    Août 2013
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien de laboratoire
    Secteur : Santé

    Informations forums :
    Inscription : Août 2013
    Messages : 172
    Par défaut
    tout d'abord pardon pour l'attente de reponse...

    J'utilise beaucoup cette application sous Access 2003 mais il me semble l'avoir également testé sous 2016...

    Envoie moi ta base que j'y regarde un peu... Si tu veux bien

  3. #63
    Membre averti
    Femme Profil pro
    Ingénieur Biomédical
    Inscrit en
    Août 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Biomédical

    Informations forums :
    Inscription : Août 2018
    Messages : 30
    Par défaut
    Désolée d'avoir mis si longtemps à répondre !

    Alors finalement j'ai résolu mon problème en créant une nouvelle base de donnée que j'ai tout de suite enregistrée sous format Access 2000 et j'ai ensuite tout recopier dedans et ça fonctionne ainsi !

    Je ne peux pas envoyer ma base il y a des informations confidentielles dedans, mais en tout cas merci beaucoup de vous être intéressés à mon problème !

  4. #64
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 126
    Par défaut Interessé par cette discussion
    Bonjour
    Tuto vraiment intéressant. Mais voila j'ai quelques soucies.
    Le Code marche bien. Mais si tante d'imprimer l'Etat une erreur se produit à l'ouverture.
    Voila les Codes:
    Code du Formulaire:
    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
    Option Compare Database
     
    Private Sub cmdApercuImpression_Click()
     
        'Déclaration de l'objet et des variables
        Dim db As DAO.Database
        Dim rst As DAO.Recordset
        Set db = CurrentDb
        Set rst = db.OpenRecordset("select * from tblCodesBarres")
     
            'Variable recevant le code 128, après encodage de la chaîne de caractères
        Dim strChaine As String
        'Variable recevant successivement chaque caractère du code 128, avant leur conversion
        Dim strCaractere As String
        'Variable recevant successivement les caractères du code 128, après conversion
        Dim strBarres
        'Variable contenant le code 128 converti
        Dim strCodeBarres As String
     
        On Error GoTo GestionErreurs
        Me.txtCodeBarres.Visible = False
     
        'Suppression des enregistrements de la table tblCodesBarres
        CurrentDb.Execute "DELETE tblCodesBarres.CodeBarres FROM tblCodesBarres where Libelle='" & Me.txtChaineCaracteres & "'" & ";", dbFailOnError
     
            'Encodage de la chaîne de caractères en code 128
        strChaine = Code128(Me.txtChaineCaracteres)
     
        'Conversion des caractères. Le chiffre "1" représente les barres, le chiffre "0" les espaces
        For i = 1 To Len(strChaine)
            strCaractere = Mid(strChaine, i, 1)
            strBarres = MotifCodeBarres128(strCaractere)
            strCodeBarres = strCodeBarres & strBarres
        Next i
     
        'Ajout des "Quiet zone" en début et en fin du code-barres
        strCodeBarres = "00000000000" & strCodeBarres & "00000000000"
     
        rst.AddNew
            rst("CodeBarres") = strCodeBarres
            rst("Libelle") = Me.txtChaineCaracteres
        rst.Update
     
        'Ouverture de l'état rptEtiquettes en le maximisant et en l'ajustant à la fenêtre Access
        DoCmd.OpenReport "Exemple", acViewPreview, , "Libelle='" & Me.txtChaineCaracteres & "'"
        DoCmd.Maximize
        DoCmd.RunCommand acCmdFitToWindow
     
        'Sortie de la procédure
        Exit Sub
     
    GestionErreurs:
     
        'Affichage d'un message
        MsgBox "Une erreur inattendue s'est produite !" & vbNewLine & vbNewLine & _
        "Source : " & Err.Source & vbNewLine & _
        "Erreur no : " & Err.Number & vbNewLine & _
        "Description : " & Err.Description, vbCritical, "Erreur !"
     
    End Sub
    Code de l'Etat:
    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
    Option Compare Database
    Option Explicit
     
    Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
     
        On Error GoTo GestionErreurs
     
        'Appel de la fonction de traçage des codes-barres
        TracerMotifCodeBarres128 Me.txtCodeBarres, Me
     
        'Sortie de la procédure
        Exit Sub
     
    GestionErreurs:
     
        'Affichage d'un message
        MsgBox "Une erreur inattendue s'est produite !" & vbNewLine & vbNewLine & _
        "Source : " & Err.Source & vbNewLine & _
        "Erreur no : " & Err.Number & vbNewLine & _
        "Description : " & Err.Description, vbCritical, "Erreur !"
     
        'Envoi de la touche Esc pour forcer la fermeture de l'état
        SendKeys "{ESC}"
     
    End Sub
     
    Private Sub Report_Open(Cancel As Integer)
        On Error GoTo GestionErreurs
     
        'Mode de traçage des étiquettes : 1953 = Traçage horizontal : 1954 = Traçage vertical
        Me.Printer.ItemLayout = lngTracageColonne
     
        If lngLargeurCodeBarres > Me.txtCodeBarres.Width Then
     
            'Annulation de l'ouverture de l'état. L'erreur est gérée dans la procédure appelante
            Cancel = True
     
        End If
     
        'Sortie de la procédure
        Exit Sub
     
    GestionErreurs:
     
        'Affichage d'un message
        MsgBox "Une erreur inattendue s'est produite !" & vbNewLine & "Erreur no : " _
        & Err.Number & vbNewLine & Err.Description, vbCritical, "Erreur !"
     
        'Envoi de la touche Esc pour forcer la fermeture de l'état
        SendKeys "{ESC}"
     
    End Sub
    Et voilà le fichier en question
    Merci pour le tuto et votre aide
    Fichiers attachés Fichiers attachés

  5. #65
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 126
    Par défaut
    salut, j'ai pas toujours de solution à mon problème.
    Quelqu'un peut jeter un coup d’œil.
    Merci

  6. #66
    Membre régulier
    Femme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2019
    Messages : 8
    Par défaut Problème code code barre
    Bonjour,
    Merci pour ce tuto, j'ai cependant quelques soucis dans mon code que je n'arrive pas à démêler.
    Y a t-il quelqu'un à qui je peux poser mes questions?
    (pour infos : j'ai des notions de codage mais je suis assez recente dans l'utilisation de VBA)

    Merci d'avance

  7. #67
    Nouveau candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2020
    Messages : 2
    Par défaut code erreur 5
    Citation Envoyé par danbo52 Voir le message
    Merci pour cette production très bien expliquée.

    J'ai toutefois eu quelques minis soucis avec l'apparition d'un code erreur 5 au moment de l'ouverture de l'état, qui est résolue.

    Par ailleurs, étant sous Access 2010, j'ai remplacé quelques écritures ce qui a permis valider le fonctionnement, à savoir:

    - rst("codeBarres") = Null et rst("Libelle") = Null par rst!codeBarres = Null et rst!Libelle = Null...pourquoi ??

    - Me. par Me!

    - et surprenant, dans la fonction
    Private Sub Report_Open(Cancel As Integer),
    Me.Printer.ItemLayout = lngTracageColonne par
    Me.Printer.ItemLayout = lngTracageColonne + 1953 pour éviter de basculer en erreur.

    Voilà, sinon, très bon programme, encore une fois, et merci, c'est très pédagogique...
    Bonjour je suis novice dans le VBA
    mais j'ai suivi à lettre et j'ai aussi l'erreur 5
    Comment as tu fait pour la faire disparaitre
    Merci par avance

  8. #68
    Membre Expert Avatar de Thumb down
    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2019
    Messages
    1 560
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 1 560
    Par défaut
    Bonjour,
    Perso je n'ai jamais compris l'intérêt de passer par du VBA alors qu'il suffit de télécharger et d'installer la police de caractère AN128!

  9. #69
    Nouveau candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2020
    Messages : 2
    Par défaut Merci de votre réponse. Pourriez vous me donner le lien pour telecharger cette police AN128?
    Citation Envoyé par Thumb down Voir le message
    Bonjour,
    Perso je n'ai jamais compris l'intérêt de passer par du VBA alors qu'il suffit de télécharger et d'installer la police de caractère AN128!

    Merci de votre réponse. Pourriez vous me donner le lien pour telecharger cette police AN128?
    Vous m'enlèveriez une grosse épine du pied.

Discussions similaires

  1. [AC-2007] Créer des codes-barres 128 en VBA
    Par symbiioz dans le forum VBA Access
    Réponses: 14
    Dernier message: 05/01/2018, 07h49
  2. [VB.Net] Créer un code barre 128
    Par olivc dans le forum ASP.NET
    Réponses: 7
    Dernier message: 25/01/2008, 19h52
  3. [CR8.5] Utilisation des codes barre
    Par Robert dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/01/2005, 16h13
  4. Recherche de source pour tracer des codes barres
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/10/2004, 16h05

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