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 Word Discussion :

Création d'une doc gestion des font dans un paragrah


Sujet :

VBA Word

  1. #1
    Membre régulier
    Homme Profil pro
    tech metodes
    Inscrit en
    Avril 2024
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : tech metodes
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2024
    Messages : 7
    Par défaut Création d'une doc gestion des font dans un paragrah
    bonjour
    je dois générer un document word a partir d'excel

    dans excel , j'ai cree un userform qui sert de formulaire et a partir de ce userform je dois générer un document word
    dans ce document , je dois générer un code barre avec une font code 128
    au debut de ma macro je cree un premier paragraph avec un teste isu du userform
    ensuite je génère un 2eme texte qui doit converti en code barre dans le doc word
    pour cela j'ai cree un 2 eme paragraph je mets le text ( qui est issu d'une variable et qui n'a jamais la meme longueur ) qui doit être avoir la fonte code barre 128
    lorque je met la font code barre 128 , il me converti bien le texte en code barre mais il m'ajoute derriere le code barre un deuxieme code barre qui correspond au ¶


    il faudrait que je change la font apres le texte du paragraph2 pour que ce code barre n'apparaisse pas ( je le fais a la main dans word et j'arrive a lire le code bar avec mon lecteur code barre)

    il faut donc
    creer le paragraphe
    changer la fonte -code 128
    ecrire le texte
    changer la fonte -arail ( pour que le symbole ¶ soit en arial )

    et la je cale

    si quelqu'un pouvais m'aider

    merci d'avance

    Sub Creer_Word()
    Dim WordApp As Object, WordDoc As Object, Rng As Object
    Dim Rep As String, Ndf As String, Logo As String
    Dim i As Integer, j As Integer
    Dim Total As Single
    '

    Set WordApp = CreateObject("Word.Application")
    Set WordDoc = WordApp.Documents.Add

    '
    WordApp.Visible = True
    With WordDoc

    ' Mise en page : Marges et orientation


    With .PageSetup
    .Orientation = wdOrientLandscape
    .LeftMargin = WordApp.CentimetersToPoints(1.5)
    .RightMargin = WordApp.CentimetersToPoints(1.5)
    .TopMargin = WordApp.CentimetersToPoints(2)
    .BottomMargin = WordApp.CentimetersToPoints(2)
    End With




    .Paragraphs.Add
    With .Paragraphs(.Paragraphs.Count - 1)
    .Range.Text = "05CSPPDM0001SPB"
    .Range.Font.Size = 70
    .Range.Font.Underline = False
    .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter

    ' .Range.Font.Bold = True
    ' .Format.SpaceAfter = 18

    .Range.InsertAfter (vbCrLf) ' ou bien .Range.InsertParagraphAfter()
    End With


    .Paragraphs.Add
    With .Paragraphs(.Paragraphs.Count - 1)
    .Range.Font.Name = "Code 128"
    .Range.Text = "ÑESSAI , Ó"

    il faut que je passe en fonte arial juste a la fin du text ( ce teste est une variable , il n'a jamais la meme longueur)

    End With




    End With
    end sub


    Nom : code barre.jpg
Affichages : 74
Taille : 40,8 Ko

  2. #2
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 068
    Par défaut
    Hello,

    j'avoue ne rien avoir compris à vos explications et encore moins à votre code, j'ai juste compris qu'il fallait un paragraphe de plus... donc 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
    Option Explicit
     
    Sub Creer_Word()
     
        Dim WordApp As Object, WordDoc As Object, Rng As Object
        Dim Rep As String, Ndf As String, Logo As String
        Dim i As Integer, j As Integer
        Dim Total As Single
        '
     
        Set WordApp = CreateObject("Word.Application")
        Set WordDoc = WordApp.Documents.Add
     
        '
        WordApp.Visible = True
        With WordDoc
     
        ' Mise en page : Marges et orientation
     
     
            With .PageSetup
                .Orientation = wdOrientLandscape
                .LeftMargin = WordApp.CentimetersToPoints(1.5)
                .RightMargin = WordApp.CentimetersToPoints(1.5)
                .TopMargin = WordApp.CentimetersToPoints(2)
                .BottomMargin = WordApp.CentimetersToPoints(2)
            End With
     
            .Paragraphs.Add
     
            With .Paragraphs(.Paragraphs.Count - 1)
                .Range.Text = "05CSPPDM0001SPB"
                .Range.Font.Size = 70
                .Range.Font.Underline = False
                .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
     
                ' .Range.Font.Bold = True
                ' .Format.SpaceAfter = 18
     
                .Range.InsertAfter (vbCrLf) ' ou bien .Range.InsertParagraphAfter()
            End With
     
     
            .Paragraphs.Add
            .Paragraphs.Add
     
            With .Paragraphs(.Paragraphs.Count - 2)
                .Range.Font.Name = "Code 128"
                .Range.Text = "ÑESSAI , Ó"
     
                'il faut que je p'asse en fonte arial juste a la fin du text ( ce teste est une variable , il n'a jamais la meme longueur)
     
            End With
     
        End With
     
    End Sub
    et le résultat
    Nom : 2025-02-18_16-11-00.png
Affichages : 42
Taille : 14,0 Ko
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

  3. #3
    Membre régulier
    Homme Profil pro
    tech metodes
    Inscrit en
    Avril 2024
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : tech metodes
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2024
    Messages : 7
    Par défaut
    Merci mais ce n est pas une histoire de paragraphe..
    Dans le paragraphe ou je suis en fonte code 128,
    il faut que je passe en fonte arial apres le range text sinon qd je fais un cr lf
    Ça me crée un deuxième code barre qui empêche de lire le code barre avec mon. Lecteur

    With .Paragraphs(.Paragraphs.Count - 2)
    .Range.Font.Name = "Code 128"
    .Range.Text = "ÑESSAI , Ó"
    . . Range.InsertAfter (vbCrLf)
    End with

  4. #4
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 068
    Par défaut
    2 choses :
    1- vous n'avez pas testé mon code
    2- je ne comprend rien à vos explications
    3 - je ne sais pas d'où provient votre code mais bof bof (a bin oui, j'ai mal compté )
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

  5. #5
    Membre régulier
    Homme Profil pro
    tech metodes
    Inscrit en
    Avril 2024
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : tech metodes
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2024
    Messages : 7
    Par défaut
    Sub Creer_Word()
    Dim WordApp As Object, WordDoc As Object, Rng As Object
    Dim Rep As String, Ndf As String, Logo As String
    Dim i As Integer, j As Integer
    Dim Total As Single
    '

    Set WordApp = CreateObject("Word.Application")
    Set WordDoc = WordApp.Documents.Add

    '
    WordApp.Visible = True
    With WordDoc

    ' Mise en page : Marges et orientation


    With .PageSetup
    .Orientation = wdOrientLandscape
    .LeftMargin = WordApp.CentimetersToPoints(1.5)
    .RightMargin = WordApp.CentimetersToPoints(1.5)
    .TopMargin = WordApp.CentimetersToPoints(2)
    .BottomMargin = WordApp.CentimetersToPoints(2)
    End With




    .Paragraphs.Add
    With .Paragraphs(.Paragraphs.Count - 1)
    .Range.Text = "05CSPPDM0001SPB"
    .Range.Font.Size = 70
    .Range.Font.Underline = False
    .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter

    ' .Range.Font.Bold = True
    ' .Format.SpaceAfter = 18

    .Range.InsertAfter (vbCrLf) ' ou bien .Range.InsertParagraphAfter()
    End With


    .Paragraphs.Add
    With .Paragraphs(.Paragraphs.Count - 1)
    .Range.Font.Name = "Code 128"
    .Range.Text = "ÑESSAI , Ó"
    .Range.InsertAfter (vbCrLf)
    End With

    .Paragraphs.Add
    With .Paragraphs(.Paragraphs.Count - 1)
    .Range.Text = "QUANTITE"
    .Range.Font.Size = 40
    .Range.Font.Underline = False
    .Range.ParagraphFormat.Alignment = wdAlignParagraphCenter

    ' .Range.Font.Bold = True
    ' .Format.SpaceAfter = 18

    .Range.InsertAfter (vbCrLf) ' ou bien .Range.InsertParagraphAfter()
    End With



    End With





    End Sub


    Voilà ce que j obtiens... Le code barre entoure en rouge posé problème

    Nom : Screenshot_2025-02-18-20-13-48-06_3aea4af51f236e4932235fdada7d1643.jpg
Affichages : 30
Taille : 74,9 Ko

  6. #6
    Membre régulier
    Homme Profil pro
    tech metodes
    Inscrit en
    Avril 2024
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : tech metodes
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2024
    Messages : 7
    Par défaut
    Nom : Screenshot_2025-02-18-20-13-48-06_3aea4af51f236e4932235fdada7d1643.jpg
Affichages : 27
Taille : 74,9 Ko

  7. #7
    Membre Expert Avatar de Nain porte koi
    Homme Profil pro
    peu importe
    Inscrit en
    Novembre 2023
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : peu importe

    Informations forums :
    Inscription : Novembre 2023
    Messages : 1 068
    Par défaut
    Hello,

    bon, j'ai refais votre code vite fait (vous n'avez toujours pas dit d'où est-ce qu'il provient et quel est le but réel), il est loin d'être optimum mais fonctionnel
    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
    Sub Creer_Word()
     
        Dim WordApp As Object, WordDoc As Object, Rng As Object
        Dim Rep As String, Ndf As String, Logo As String
        Dim i As Integer, j As Integer
        Dim Total As Single
        '
     
        Set WordApp = CreateObject("Word.Application")
        Set WordDoc = WordApp.Documents.Add
     
        '
        WordApp.Visible = True
        With WordDoc
     
            ' Mise en page : Marges et orientation
            With .PageSetup
                .Orientation = wdOrientLandscape
                .LeftMargin = WordApp.CentimetersToPoints(1.5)
                .RightMargin = WordApp.CentimetersToPoints(1.5)
                .TopMargin = WordApp.CentimetersToPoints(2)
                .BottomMargin = WordApp.CentimetersToPoints(2)
            End With
     
            .Content.Font.Size = 70
            .Content.ParagraphFormat.Alignment = wdAlignParagraphCenter
     
            With .Paragraphs(1)
                .Range.Text = "05CSPPDM0001SPB"
                .Range.InsertAfter vbCrLf
     
                ' .Range.Font.Bold = True
                ' .Format.SpaceAfter = 18
     
            End With
     
            With .Paragraphs(2)
                .Range.Font.Name = "Code 128"
                .Range.Text = "ÑESSAI , Ó"
                .Range.InsertAfter vbCrLf
            End With
     
            With .Paragraphs(3)
                .Range.Font.Name = "Arial"
                .Range.Font.Size = 40
                .Range.Text = "QUANTITE"
    '            .Range.InsertAfter vbCrLf
     
                ' .Range.Font.Bold = True
                ' .Format.SpaceAfter = 18
     
            End With
     
        End With
     
    End Sub
    Je pense que si vous voulez imprimez une liste de code barre avec des données provenant d'Excel le mieux serait de passer par un publipostage parce que là ça va être lent
    JièL
    Membre des AMIS
    Anti Macro Inutilement Superfétatoire

Discussions similaires

  1. Gestion des buffers dans une fonction
    Par JiJiJaco dans le forum Langage
    Réponses: 2
    Dernier message: 06/01/2006, 11h20
  2. gestion des utilisateurs dans une solution 3-tiers
    Par nadia lydia dans le forum Oracle
    Réponses: 3
    Dernier message: 26/10/2005, 12h58
  3. Gestion des Fonts dans le PDF
    Par JMLD dans le forum XMLRAD
    Réponses: 4
    Dernier message: 05/08/2005, 11h09
  4. [Conception] Gestion des accents dans une base de données
    Par MiJack dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 07/07/2005, 11h41
  5. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20

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