Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/01/2008, 07h51   #1
Futur Membre du Club
 
Inscription : novembre 2007
Messages : 72
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 72
Points : 17
Points : 17
Par défaut Duplication de tableaux

Bonjour,

J'ai un petit probleme de copie de tableau sous Word (avec VBA). J'ai cherché dans les forums et sans succes. En fait mon probleme est que j'arrive a duppliquer mon tableau, mais il me le place toujours en ligne 1 et je ne sais pas pourquoi. Je n'arrive pas à le mettre ou je veux.
Mon tableau comporte des collumns merged.
Mes commandes sont :

Code :
1
2
3
4
5
6
7
8
9
Dim DocWord As Word.Document
 
with Docword
DocWord.Tables(1).Range.Select
DocWord.Tables(1).Range.Copy
end with
:
:
docword.tables(1).range.paste
Merci de votre aide
gilles06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 08h37   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 360
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 360
Points : 29 280
Points : 29 280
Ton code recèle quelques erreurs et si tu veux que le tableau soit collé à la fin du document, tu dois y aller.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub TestCopyTable()
Dim oDoc As Document
Dim oTbl As Table
'Affectation des objets
 
Set oDoc = ActiveDocument
Set oTbl = oDoc.Tables(1)
'Sélection de la table
oTbl.Range.Select
'Copie de la sélection
Selection.Copy
'Déplacement du point d'insertion
Selection.EndKey unit:=wdStory
'Collage de la table.
Selection.Paste
 
End Sub

Citation:
Dim DocWord As Word.Document
Dans Word, il n'est pas nécessaire de rappeler l'objet application

Citation:
with Docword
DocWord.Tables(1).Range.Select
DocWord.Tables(1).Range.Copy
end with
Si tu utilises un With, il ne faut pas rappeler l'objet.
Si tu fais un select, tu dois travailler avec un objet selection.




Citation:
docword.tables(1).range.paste
Tu colles, mais si tu ne te déplaces pas, tu colles où se trouve ton point d'insertion.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 10h15   #3
Futur Membre du Club
 
Inscription : novembre 2007
Messages : 72
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 72
Points : 17
Points : 17
Bonjour,

Merci pour la reponse, mais j'ai un souci lorsque j'execute le code sur les commandes
Selection.Copy
Selection.EndKey unit:=wdStory
Il execute ces commandes sous XLS et non dans le document Word. Je veux dupliquer un Tableau Word dans la meme page Word en fait.

Merci
gilles06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/01/2008, 12h16   #4
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 360
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 360
Points : 29 280
Points : 29 280
Voilà en Excel à quoi il devrait ressembler.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub CopyTables()
Dim wApp As New Word.Application
Dim oDoc As Document
Dim oTbl As Word.Table
 
Set oDoc = wApp.Documents.Add
Debug.Print "1"
oDoc.Tables.Add Range:=wApp.Selection.Range, NumRows:=5, NumColumns:=2
Debug.Print "2"
Set oTbl = oDoc.Tables(1)
Debug.Print "3"
oTbl.Range.Select
With wApp.Selection
    .Copy
    .EndKey unit:=wdStory
    .TypeParagraph
 
    .Paste
End With
 
wApp.Visible = True
 
 
 
End Sub
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2008, 11h47   #5
Futur Membre du Club
 
Inscription : novembre 2007
Messages : 72
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 72
Points : 17
Points : 17
Merci pour la reponse et de m'avoir aider. C'est fait tout fonctionne mainetnant.

Merci encore
gilles06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h17.


 
 
 
 
Partenaires

Hébergement Web