Tableau vba word erreur [Résolu]

Signaler
Messages postés
29
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
9 juin 2011
-
kenru64
Messages postés
29
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
9 juin 2011
-
bonjour,

j'aimerai créer un tableau dans un document Word voici mon code avec toutes les lignes que j'ai testé en commentaire :

Dim nomfich As String
Dim appwd As Word.Application
Dim WordDoc As Word.Document
Dim ta
Set appwd = CreateObject("Word.Application")
Set WordDoc = appwd.Documents.Add

appwd.Visible = True
appwd.Activate

'WordDoc.ActiveDocument.Tables(1).Add

'appwd.ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:=4

'ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=5, NumColumns:=10, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitContent

With WordDoc
.PageSetup.Orientation = wdOrientLandscape
.SaveAs FileName:=nomfich
End With

Mais j'obtiens pleins d'erreur différentes me parlant de bloc with non définie, de variable objet non définie, ou encore propriété ou méthode non gérée par l'objet.
Je ne sais pas trop quoi en penser une piste de réflexion serait la bien venue.
merci beaucoup :)

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
64
Salut
[u]1ère syntaxe :
/uSi WordDoc est ton objet Document, WordDoc.ActiveDocument n'a pas de sens.
Seule l'application peut avoir un ActiveDocument, pas un document.

3ème syntaxe :
ActiveDocument.Tables.Add Range:=Selection.Range ...
ActiveDocument n'a pas de sens sous VB6.
Selection.Range non plus
Pas de sens parce que cela ne s'applique qu'à des objets Word

A tester :
    Dim maSelection As Word.Selection
    Dim maTable As Word.Table
    Set maSelection = WordDoc.Application.Selection
    With maSelection
        ' Déplacement d'un mot vers la droite
        .MoveRight Unit:=wdWord, Count:=1
        ' Sélection des huit mots suivants
        .MoveRight Unit:=wdWord, Count:=8, Extend:=wdExtend
    End With
    Set maTable = WordDoc.Tables.Add Range:=maSelection.Range ...
    maTable.Borders.InsideColor = wdColorBlue

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

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
29
Date d'inscription
jeudi 15 avril 2010
Statut
Membre
Dernière intervention
9 juin 2011

ok ca marche mieux comme ca ^^ merci beaucoup,
donc si je résume pour être sur d'avoir bien compris :
WordDoc étais activedocument ca ne pouvais donc pas fonctionner.
activedocument n'existe pas sous VB6.

J'espere mieu comprendre le VBA avec le temps en tout cas merci beaucoup pour vos réponses