Bonjour,

Je cherche à créer en VB une macro qui insère un tableau dans un document Word, et qui remplit les différentes cases du tableau. Il m'est donc nécessaire de connaître le code pour passer d'une cellule à une autre (sur une ligne en dessous).

Mon problème est quel cela fonctionne lorsque Word est visible, mais pas lorsque l'application est masquée !

La preuve :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
        5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    Selection.TypeText Text:="test ligne 1"
    Selection.MoveRight Unit:=wdCell, Count:=1
    Selection.TypeText Text:="test colonne 2"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="test ligne 2"
me donnera :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
|--------------|--------------|--------------|--------------|--------------|
| test ligne 1 |test colonne 2|              |              |              |
|--------------|--------------|--------------|--------------|--------------|
|              | test ligne 2 |              |              |              |
|--------------|--------------|--------------|--------------|--------------|
En masquant Word (je ne souhaite pas que la fenêtre de Word s'affiche lors de la macro) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
    Application.Visible = False
    ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=2, NumColumns:= _
        5, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
        wdAutoFitFixed
    Selection.TypeText Text:="test ligne 1"
    Selection.MoveRight Unit:=wdCell, Count:=1
    Selection.TypeText Text:="test colonne 2"
    Selection.MoveDown Unit:=wdLine, Count:=1
    Selection.TypeText Text:="test ligne 2"
    Application.Visible = True
j'obtiendrai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
|--------------|--------------|--------------|--------------|--------------|
| test ligne 1 |test colonne 2|              |              |              |
|              |test ligne 2  |              |              |              |
|--------------|--------------|--------------|--------------|--------------|
|              |              |              |              |              |
|--------------|--------------|--------------|--------------|--------------|
Selection.MoveRight, Selection.MoveLeft fonctionnent que ce soit en mode masqué ou non, par contre Selection.MoveDown me pose problème ! J'ai essayé en utilisant wdRow au lieu de wdLine mais VB et Word n'en veulent pas !

Existe-t'il une autre méthode pour changer de ligne du tableau (qui fonctionne en mode masqué !) ?

Merci par avance !