Tableau vba word erreur [Résolu]

Messages postés
29
Date d'inscription
jeudi 15 avril 2010
Dernière intervention
9 juin 2011
- - Dernière réponse : kenru64
Messages postés
29
Date d'inscription
jeudi 15 avril 2010
Dernière intervention
9 juin 2011
- 5 mai 2010 à 14:36
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 :)
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
75
3
Merci
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)

Dire « Merci » 3

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

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

Commenter la réponse de cs_Jack
Messages postés
29
Date d'inscription
jeudi 15 avril 2010
Dernière intervention
9 juin 2011
0
Merci
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
Commenter la réponse de kenru64

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.