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

cyrilou421 7 Messages postés lundi 29 octobre 2007Date d'inscription 8 janvier 2014 Dernière intervention - 3 nov. 2007 à 15:30 - Dernière réponse : cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention
- 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 

Votre réponse

1 réponse

cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 3 nov. 2007 à 18:19
+3
Utile
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)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_Jack

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.