Création images à partir de cellules - mise en page automatique sous VBA

Bonjour, j'ai un fichier excel avec numéro/nom de produit/code barre* et je dois transformer ça en étiquettes à imprimer.

J'ai donc une mise en page automatique à réaliser à partir de mon fichier excel. J'ai cherché dans des forums, sans réponse...

1

Ce que j'ai

2sd

Ce que je voudrais

Je pense que la solution la plus simple serait de créer une image pour chaque étiquette à partir des trois cases qui m'intéressent.

Mais impossible de trouver comment générer une image à partir de plusieurs cases ! J'ai essayer de fusionner mes cases en une seule, qui serait plus facilement exportable, mais impossible d'avoir une case avec des polices différentes - j'ai juste réussi avec gras/souligné/italic.

*le code barre est de la forme [Ò - (0ÍAB0Ì (Ó] avec la police code 128, un code VBA se charge de la transformation automatique numéro --> code barre

Question annexe,

Comment à partir d'un ensemble de photos (mes étiquettes) on crée un fichier type word A4 avec 3*10 images par page pour imprimer facilement ? Je ne sais pas encore faire en vba...

Merci d'avance pour votre aide et toutes les réponses !!!

Antoine

PS: désolé pour la taille des images

Bonjour,

Pourquoi ne pas passer par un publipostage Word puisque tu as déjà ta base exel et que les codes barres sont une police

d'écriture ?

TU réalise tes étiquettes Word avec la présentation que tu souhaites ; ensuite tu insérères tes champs de fusion qui correspondent à ta base.

Bonsoir,

on peut faire un publipostage Excel vers Excel. J'ai ajouté une feuille avec les étiquettes, il ne reste plus qu'à changer la taille des lignes, des colonnes ou de la police si nécessaire. Il est préférable d'éviter les champs vides dans la base de données. On peut décider d'imprimer la feuille ou de l'enregistrer au format PDF, il suffit de commenter ou décommenter la ligne. Voici le code:

Sub test()

    Dim DerLigne As Integer
    Dim cell   As Range
    Dim Tableau As Range
    Dim wsListe As Worksheet
    Dim wsEtiquette As Worksheet

    Set wsListe = Worksheets("Feuil1")
    Set wsEtiquette = Worksheets("étiquette")

    DerLigne = wsListe.Cells(Rows.Count, 1).End(xlUp).Row

    Set Tableau = wsListe.Range("B2:B" & DerLigne)

    Application.ScreenUpdating = False

    For Each cell In Tableau

        Range("Lab1A").Value = cell.Value
        Range("Lab1B").Value = cell.Offset(0, 3).Value
        Range("Lab1C").Value = cell.Offset(0, -1).Value

        wsEtiquette.PrintOut

        wsEtiquette.ExportAsFixedFormat _
                                        Type:=xlTypePDF, _
                                        Filename:=ThisWorkbook.Path & "/" & Range("Lab1A").Value, _
                                        Quality:=xlQualityStandard, _
                                        IncludeDocProperties:=True, _
                                        IgnorePrintAreas:=False, _
                                        OpenAfterPublish:=False

    Next cell

    Application.ScreenUpdating = True

End Sub

Merci à vous Xmenpl et Sequoyah, vos solutions fonctionnent très bien et sont complémentaires !!

Antoine

Bonjour Antoine et le Forum,

comme tu as aimé les deux solutions, en voici une troisième. À partir de la version Word 2013 on peut effectuer le publipostage des codes à barres automatiquement, donc sans avoir à installer la police ni à transformer d'abord le Code article.

Deux liens pour en savoir plus, le second en anglais mais avec de nombreuses images explicatives:

https://support.office.com/fr-fr/article/ajouter-des-codes-barres-aux-étiquettes-495cf789-c9d9-4ea5-8eb9-7299170d4831

Rechercher des sujets similaires à "creation images partir mise page automatique vba"