Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Word 2003 - sélection du dernier tableau

3 réponses
Avatar
Congelator
Salut tout le monde,

j'ai un problème avec un document Word. L'utilisateur va remplir une
userform avec différents champs. En cliquant sur le bouton "valider", il va
automatiquement copier un tableau préformaté [tables(5)], le colle plus bas
pour le remplir avec les infos saisies dans les champs. Mon problème est que
l'utilisteur peut avoir recours plusieurs fois à cette form et donc il
faudrait pouvoir sélectionner à chaque fois le dernier tableau pour le
remplir. Voici le début du code :

With Selection
If optbt_employeur.Value = True Then
Selection.EndKey Unit:=wdStory ' va à la fin du document
Call ThisDocument.gras ' mise en forme "gras"
.TypeText Text:="Employeur" ' insertion du mot employeur
Selection.TypeParagraph 'retour à la ligne
Selection.TypeParagraph
End If
End With

Call ThisDocument.normal
'sélectionner le tableau pour insérer les informations de l' employeur
ActiveDocument.Tables(5).Select
Selection.Copy 'copie du tableau
Selection.EndKey Unit:=wdStory ' fin du document
Selection.Paste 'copie du tableau
Selection.Tables( ???? ).Cell(1, 2).Select <--- là commence mon
problème...

ensuite je pense faire qqch du genre :
with selection
'remplissage de la cellule avec la valeur du champ "nom employeur"
.TypeText Text:=frm_empl.tboxnom.value
'déplacement vers la cellule suivante
Selection.MoveRight Unit:=wdCell
'remplissage de la cellule avec la valeur du champ "adresse employeur"
.TypeText Text:=frm_empl.tboxadrs.value
etc...

ensuite affichage d'un msgbox "autre employeur ? -oui / non"
si non -> fin
si oui, affichage de la userform vidée et on recommence... comme toujours
en informatique : FA-CIIIIILE YAKA... ;-))

End sub

Si qqn a une idée ou une autre solution, ça m'intéresse.

Merci d'avance

--
Céd / Lausanne

3 réponses

Avatar
Gloops
Salut,

Comme ça de tête il me semble que pour sélectionner le dernier tableau c'est
Tables(Tables.count - 1)

(c'est bien à partir de 0 qu'on compte n'est-ce pas ?)
Avatar
Congelator
Salut Gloops,

Merci pour le truc mais ça ne fonctionne pas, j'ai un message d'erreur
"utilisation incorrect de la propriété" :-(( Je pense que je l'ai mal
placée alors voici le code, peut-être que ça te parlera plus qu'à moi...

Call ThisDocument.normal
ActiveDocument.Tables(5).Select
Selection.Copy 'copie du tableau
Selection.EndKey Unit:=wdStory ' fin du document
Selection.Paste 'copie du tableau
'Selection.Tables(6).Cell(1, 2).Select <-- Ne fonctionne pas !!
Selection.Tables (Tables.Count - 1) <-- Message d'erreur

Merci pour le coup de main.
--
Céd / Lausanne


"Gloops" a écrit :

Salut,

Comme ça de tête il me semble que pour sélectionner le dernier tableau c'est
Tables(Tables.count - 1)

(c'est bien à partir de 0 qu'on compte n'est-ce pas ?)



Avatar
Gloops
Congelator a écrit :
Salut Gloops,

Merci pour le truc mais ça ne fonctionne pas, j'ai un message d'erreur
"utilisation incorrect de la propriété" :-(( Je pense que je l'ai mal
placée alors voici le code, peut-être que ça te parlera plus qu'à moi...

Call ThisDocument.normal
ActiveDocument.Tables(5).Select
Selection.Copy 'copie du tableau
Selection.EndKey Unit:=wdStory ' fin du document
Selection.Paste 'copie du tableau



A ce stade-là, il y a quoi, de sélectionné ?
Rien, j'imagine.

'Selection.Tables(6).Cell(1, 2).Select <-- Ne fonctionne pas !!



Chercher un tableau en propriété d'une sélection vide, ça me paraît
hazardeux.

Selection.Tables (Tables.Count - 1) <-- Message d'erreur



C'est une chose de désigner le tableau, mais après il faut dire à la
machine quoi en faire.


Après collage du tableau essaie :

ActiveDocument.Tables(Tables.Count - 1).Cell(1, 2).Select

A moins qu'on soit obligé de sélectionner le tableau d'abord, avant de
sélectionner quelque chose dedans :

ActiveDocument.Tables(Tables.Count - 1).Select
MsgBox "Là j'ai sélectionné le tableau"
Selection.Cell(1, 2).Select
MsgBox "Là j'ai réduit la sélection à la cellule"