Bordure et alignement dans un tableau lors d'un publipostage sur word à partir d [Résolu]

Messages postés
7
Date d'inscription
lundi 29 octobre 2007
Statut
Membre
Dernière intervention
8 janvier 2014
- - Dernière réponse : cs_Jack
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 3 nov. 2007 à 18:19
Bonjour,

Dans mon application, j'effectue un publipostage sur word en vue d'imprimer ou d'enregistrer le document.
Dans mon publipostage je dois mettre un tableau.
Mon code fonctionne. Mais j'aurais aimé configurer les bordures du tableau (car actuellement il n'y en a aucune) et j'aurais aimé configurer aussi l'alignement du texte dans les cellules dans le sens vertical.

Si quelqu'un peut m'aider, merci d'avance.

Voici mon code :



Private Sub publipostage_envoi()
Dim reponse
Dim WordApp As Application, WordDoc, Cadre1 As Range, Cadre2 As Range
        Set WordApp = CreateObject("word.application")
        WordApp.Application.Visible = False
        Set WordDoc = WordApp.Documents.Open("" & App.Path & "\doc.doc")
        Set Cadre1 = WordDoc.Range(Start:=0, End:=0)
        Cadre1.InsertAfter ("Titre" & vbCrLf)
        Cadre1.Bold = True
        Cadre1.Underline = True
        Cadre1.Font.Name = "Arial"
        Cadre1.Font.Size = 16
        Cadre1.ParagraphFormat.Alignment = 1
        Set Cadre2 = WordDoc.Range(Start:=6, End:=6)
        With WordDoc
            .Tables.Add Range:=Cadre2, NumRows:=2, NumColumns:=3
            .Tables(1).Cell(1, 1).Range.Text = "Horaires :"
            .Tables(1).Cell(1, 1).Range.Bold = True
            .Tables(1).Cell(1, 1).Range.Underline = False
            .Tables(1).Cell(1, 1).Range.Font.Name = "arial"
            .Tables(1).Cell(1, 1).Range.Font.Size = "9"
            .Tables(1).Cell(1, 1).Range.ParagraphFormat.Alignment = 1
            .Tables(1).Cell(1, 2).Range.Text = "Discipline :"
            .Tables(1).Cell(1, 2).Range.Bold = True
            .Tables(1).Cell(1, 2).Range.Underline = False
            .Tables(1).Cell(1, 2).Range.Font.Name = "arial"
            .Tables(1).Cell(1, 2).Range.Font.Size = "9"
            .Tables(1).Cell(1, 3).Range.Text = "Domaine :"
            .Tables(1).Cell(1, 3).Range.Bold = True
            .Tables(1).Cell(1, 3).Range.Underline = False
            .Tables(1).Cell(1, 3).Range.Font.Name = "arial"
            .Tables(1).Cell(1, 3).Range.Font.Size = "9"
        End With
        reponse = MsgBox("Voulez-vous enregistrer le fichier?", vbExclamation + vbMsgBoxSetForeground + vbDefaultButton1 + vbYesNo, "Enregistrer?")
        If reponse = vbYes Then
            WordDoc.SaveAs ("" & App.Path & "\fichier.doc")
        End If
        If reponse = vbNo Then
        End If
        WordDoc.Close
        WordApp.Quit
        Set WordDoc = Nothing
        Set WordApp = Nothing
End Sub
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
62
3
Merci
Salut
Comme toujours avec Word ou Excel, du moment que tu sais le faire à la main, tu sais le programmer :
- Ouvre un de tes docus Word ainsi généré et enregistre une nouvelle macro.
- Fais tes arrangements de style puis arrête l'enregistrement.
- Va jetter un coup d'oeil dans l'éditeur VB de macro : le code est là.
- Copie-Colle le dans ton projet VB6 en l'arrangeant un peu (nom des objets et paramétrage éventuel)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 201 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack