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 24/01/2008, 12h33   #1
Membre du Club
 
Inscription : mars 2007
Messages : 135
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mars 2007
Messages : 135
Points : 47
Points : 47
Par défaut Placer curseur apès un tableau

Bonjour,
Je suis pas sure de poster au bon endroit mais j'essaye quand même...
Je sais qu'il y a d'autres message qui traite du curseur mais je n'ai pas trouvé mon bonheur.

Je développe une application sous access. A un moment je rempli un doc word (en vba depuis access). Ce document contient déjà des tableaux et un peu de texte. Mais il y a aussi des tableaux que j'insére en vba, le pb avec eux c'est qu'il n'y en a jamais le même nombre donc je ne peux pas les insérer par signets (je ne vais pas m'amuser à mettre une centaine de signets pour être sure de toujours tous les mettre).

Donc l'idée est simple :
j'ai un signet pour le début de l'insertion
je déplace le curseur sur ce signet
tant qu'il y a un tableau à insérer
>> j'insere le tableau là où est le curseur
>> je bouge le curseur après le tableau que je viens d'insérer
fin tant que

Ce que j'ai fait en code :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
Dim myWord As Word.Application, Doc As Word.Document
Dim comptTab As Integer
 
Set myWord = New Word.Application
Set Doc = myWord.Documents.Open(final2, , False)
comptTab = 8
 
myWord.Selection.GoTo What:=wdGoToBookmark, Name:="tab1" 'positionne le curseur au signet tab1
Set tablo2 = Doc.Tables.Add(myWord.Selection.Range, 1, 2)
 
With tablo2
                .Borders(wdBorderLeft).LineStyle = wdLineStyleSingle
               ' .... mise en page tableau
                 .Cell(1, 2).Range.ParagraphFormat.Alignment = wdAlignParagraphCenter
               .AllowPageBreaks = False
End With
 
Doc.Tables(comptTab).Select
myWord.Selection.MoveDown unit:=wdLine, Count:=1
myWord.Selection.InsertParagraphAfter
comptTab = comptTab + 1
Le pb c'est que le curseur va bien sur le signet mais après il bouge pas, les tableaux sont les uns dans les autres et je comprends pas pourquoi, j'avais trouvé le code sur un autre forum où apparement ça marchait...

Ah oui et au passage ça non plus ça marche pas :
Code :
.AllowPageBreaks = False
C'était pour que les lignes soient toujours entières et pas coupées sur deux pages.

Merci par avance, la moindre idée est la bienvenue
Syrrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 13h51   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
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 354
Points : 29 270
Points : 29 270
Pour se rendre au premier paragraphe qui suit une table.

Code :
1
2
ActiveDocument.Tables(1).Range.Select
Selection.Move unit:=wdParagraph
__________________
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 déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 13h54   #3
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
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 354
Points : 29 270
Points : 29 270
Pour garder les lignes ensembles c'est

__________________
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 déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 16h04   #4
Membre du Club
 
Inscription : mars 2007
Messages : 135
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mars 2007
Messages : 135
Points : 47
Points : 47
Merci beaucoup Heureux-oli, tu viens de me sortir de 2 jours de recherches

Y'a quand même un petit hic, c'est au sujet de :
il me le prend pas, aprés recherche ça s'applique à un paragraphe pas à un tableau.
J'ai quand même essayer tab.rows.keeptogether mais sans succés non plus.

Une idée pour l'appliquer à un tableau ?
Syrrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 16h18   #5
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
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 354
Points : 29 270
Points : 29 270
Mea culpa, j'ai pas vu que c'était pour un tableau.

Code :
1
2
3
4
Dim tbl As Table
ActiveDocument.Tables(1).Select
 
Selection.Rows.AllowBreakAcrossPages = False
__________________
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 déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2008, 16h32   #6
Membre du Club
 
Inscription : mars 2007
Messages : 135
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mars 2007
Messages : 135
Points : 47
Points : 47
Merci beaucoup encore une fois ça marche nikel.
Syrrus 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 18h01.


 
 
 
 
Partenaires

Hébergement Web