Générer un barcode (code-barres), Excel VBA

Générer un barcode (code-barres), Excel VBA

Voici l’explication détaillée et le code en VBA pour générer un barcode (code-barres) dans Excel, avec des explications en français.
Objectif :
Nous allons créer un générateur de code-barres dans Excel en utilisant VBA. Le code-barres sera de type Code 39, un format couramment utilisé et facile à implémenter. Le code-barres pourra représenter des données alphanumériques.
Pré-requis :
1. Police de code-barres : Pour afficher des codes-barres, vous devez avoir une police de code-barres installée sur votre système. Une police commune et gratuite pour les codes-barres Code 39 est la « Free 3 of 9 Extended » (ou « Code39 »).
Vous pouvez trouver et installer des polices de code-barres telles que « Code39 » ou « Free 3 of 9 Extended » en ligne.
Étapes :
1. Télécharger et installer la police de code-barres : Téléchargez et installez la police « Code 39 » ou « Free 3 of 9 Extended ».
2. Utiliser VBA pour générer le code-barres : Nous allons écrire un code VBA qui convertira les données alphanumériques en un code-barres à l’aide de cette police.
Code VBA détaillé :

Sub GenererCodeBarres()
    ' Définir les variables pour la valeur du code-barres et la cellule où le code-barres sera inséré
    Dim ValeurCodeBarres As String
    Dim CelluleCodeBarres As Range
    ' Demander à l'utilisateur d'entrer la valeur à convertir en code-barres (peut être pris d'une cellule spécifique)
    ValeurCodeBarres = InputBox("Entrez le texte pour le code-barres :", "Générer le Code-Barres")
    ' Vérifier si l'entrée est vide, sortir si c'est le cas
    If ValeurCodeBarres = "" Then
        MsgBox "Aucune valeur saisie. Génération du code-barres annulée."
        Exit Sub
    End If
    ' Sélectionner la cellule où le code-barres sera affiché
    Set CelluleCodeBarres = ActiveSheet.Range("A1") ' Vous pouvez changer cette plage selon vos besoins
    ' Formater la cellule pour utiliser la police de code-barres
    CelluleCodeBarres.Value = "*" & ValeurCodeBarres & "*" ' Le format Code39 nécessite des astérisques aux deux extrémités
    CelluleCodeBarres.Font.Name = "Free 3 of 9 Extended" ' Changez ceci par la police de code-barres installée
    CelluleCodeBarres.Font.Size = 24 ' Définir une taille de police appropriée pour la lisibilité
    ' Facultatif : Ajuster la largeur de la colonne et la hauteur de la ligne pour que le code-barres soit visible
    CelluleCodeBarres.ColumnWidth = Len(ValeurCodeBarres) * 3 ' Ajuster la largeur de la colonne en fonction de la longueur du texte du code-barres
    CelluleCodeBarres.RowHeight = 50 ' Ajuster la hauteur de la ligne pour que le code-barres soit visible
    MsgBox "Code-barres généré avec succès !"
End Sub

Explication étape par étape :
1. Entrée de l’utilisateur (Valeur du code-barres) :

  • Le code commence par afficher une boîte de saisie où l’utilisateur peut entrer les données à convertir en code-barres.
  • La valeur saisie est stockée dans la variable ValeurCodeBarres.

2. Validation de l’entrée :

  • Le code vérifie si l’utilisateur a bien saisi quelque chose. Si aucune valeur n’est entrée, un message s’affiche, et le code s’arrête.

3. Format du code-barres :

  • La valeur entrée est formatée en ajoutant un astérisque (*) avant et après la chaîne. Ceci est nécessaire pour le format Code 39, qui utilise ces astérisques comme caractères de début et de fin.
  • Par exemple : si l’utilisateur entre « ABC123 », le code-barres affichera « ABC123« .

4. Définition de la cellule du code-barres :

  • Le code définit la cellule où le code-barres sera affiché (dans ce cas, A1), puis assigne la valeur du code-barres à cette cellule.
  • La police de la cellule est ensuite définie sur « Free 3 of 9 Extended » (ou la police de code-barres que vous avez installée).
  • La taille de la police est ajustée à 24 pour rendre le code-barres lisible, mais vous pouvez modifier cette taille en fonction de vos besoins.

5. Ajustement de la taille de la cellule :

  • Le code ajuste automatiquement la largeur de la colonne et la hauteur de la ligne pour s’assurer que le code-barres s’affiche correctement dans la cellule. La largeur de la colonne est calculée en fonction de la longueur du texte du code-barres (chaque caractère occupe une certaine largeur).
  • La hauteur de la ligne est définie à 50, mais vous pouvez ajuster cette valeur pour que le code-barres tienne bien dans la cellule.

6. Message de confirmation :

  • Enfin, un message apparaît pour confirmer que le code-barres a été généré avec succès.

Notes importantes :
1. Police de code-barres : L’élément clé pour générer un code-barres visible est la police de code-barres. Assurez-vous d’avoir installé une police de code-barres telle que Code39 ou Free 3 of 9 Extended. Sans cette police, vous verrez des caractères aléatoires à la place du code-barres.
2. Test du code-barres : Après avoir exécuté la macro, vous pouvez tester le code-barres en le scannant avec un scanner de code-barres. Un scanner devrait interpréter le code-barres scanné et renvoyer le texte alphanumérique qui a été entré dans la boîte de saisie (par exemple, « ABC123 »).
3. Personnalisation : Vous pouvez personnaliser la référence de cellule (actuellement A1) et d’autres propriétés comme la taille de la police ou la largeur de la colonne selon vos besoins.
4. Gestion des erreurs : Le code peut être amélioré en ajoutant une gestion des erreurs pour des cas comme des caractères invalides dans le texte du code-barres ou si l’utilisateur annule la saisie.
Exemple d’utilisation :

  • Si vous devez créer des codes-barres pour des produits, vous pourriez modifier ce code pour récupérer les codes produits à partir d’une liste dans votre feuille Excel et générer automatiquement des codes-barres pour chaque produit dans une colonne.

Conclusion :
Ce macro VBA vous permet de convertir du texte alphanumérique en un code-barres lisible dans Excel. En utilisant des polices de code-barres et un formatage simple, vous pouvez créer un système pour générer des codes-barres pour la gestion d’inventaire, l’étiquetage des produits ou tout autre système nécessitant une représentation en code-barres.

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x