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

transformer une colonne de tableau en champ texte

3 réponses
Avatar
Xavier Adout
Bonjour,
j'ai un utilisateur qui voulant faire un formulaire a créé un document a
base de tableauc et rempli celui ci sur une colonne suivi de deux colonne
faites de champs "case a cocher" puis d'une colonne vide.
En fait il souhaitait que cette derniere colonne soit un champs texte mais
ne la pas précisé a word.
Du coup, il se retrouve avec un document de 100 pages ou l'on ne peut pas
remplir la derniere colonne.
Connaitriez vous un moyen de définir la derniere colonne de chaque tableaux
comme un champs texte?? Sans avoir a passer cellules par cellules??
Merci d'avance

3 réponses

Avatar
Xavier Adout
Rebonjour,
Au fil de mes recherches je me dit que le plus simple serait surement de
faire une macro insérant le champs a la derniere cellule de chaque lignes du
tableau...
Malheureusement, j'suis pas un expert en codage :(
Cependant, quelqu'un pourrait il me confirmer que je vais dans le bon
sens???
Merci

"Xavier Adout" a écrit dans le message de news:

Bonjour,
j'ai un utilisateur qui voulant faire un formulaire a créé un document a
base de tableauc et rempli celui ci sur une colonne suivi de deux colonne
faites de champs "case a cocher" puis d'une colonne vide.
En fait il souhaitait que cette derniere colonne soit un champs texte mais
ne la pas précisé a word.
Du coup, il se retrouve avec un document de 100 pages ou l'on ne peut pas
remplir la derniere colonne.
Connaitriez vous un moyen de définir la derniere colonne de chaque
tableaux comme un champs texte?? Sans avoir a passer cellules par
cellules??
Merci d'avance



Avatar
Anacoluthe
Bonjour !

'Xavier Adout' nous a écrit ...
Au fil de mes recherches je me dit que le plus simple serait surement de
faire une macro insérant le champs a la derniere cellule de chaque lignes du
tableau...
Malheureusement, j'suis pas un expert en codage :(
Cependant, quelqu'un pourrait il me confirmer que je vais dans le bon
sens???


Oui c'est probablement le plus simple car vous ne pouvez pas faire
une protection de formulaire dans la partie gauche du tableau et
laisser la dernière colonne à droite non protégée.

Quelque chose comme ça par exemple :

Public Sub ChampTexteColonneDroite()
' Ajoute un champ texte de formulaire dans chaque dernière
' cellule de chaque ligne de chaque tableau
Dim T As Table
Dim L As Row
Dim R As Range
For Each T In ActiveDocument.Tables ' tous les tableaux
For Each L In T.Rows ' toutes les lignes
Set R = L.Cells(L.Cells.Count).Range ' dernière cellule
R.FormFields.Add R, wdFieldFormTextInput
Next L: Next T
Set T = Nothing: Set L = Nothing: Set R = Nothing
End Sub

ça conviendrait ?

Anacoluthe
« Je mets dans mes tableaux tout ce que j'aime.
Tant pis pour les choses, elles n'ont qu'à s'arranger entre elles. »
- Pablo PICASSO

Avatar
Xavier Adout
Merci pour votre réponse.
Malheureusement, j'avais déjà rempli les champs à la mimine.Mais bon celà
fut moins laborieux que prévu, en faisant quelques colonnes puis en faisant
des copier/coller de ces block, ca allais assez vite.
Mais par curiosité j'essaierai la méthode de la macro dès que j'ai un peu de
temps :)

Merci encore

Xavier Adout
"Anacoluthe" a écrit dans le message de news:
eqM9I$
Bonjour !

'Xavier Adout' nous a écrit ...
Au fil de mes recherches je me dit que le plus simple serait surement de
faire une macro insérant le champs a la derniere cellule de chaque lignes
du tableau...
Malheureusement, j'suis pas un expert en codage :(
Cependant, quelqu'un pourrait il me confirmer que je vais dans le bon
sens???


Oui c'est probablement le plus simple car vous ne pouvez pas faire
une protection de formulaire dans la partie gauche du tableau et
laisser la dernière colonne à droite non protégée.

Quelque chose comme ça par exemple :

Public Sub ChampTexteColonneDroite()
' Ajoute un champ texte de formulaire dans chaque dernière
' cellule de chaque ligne de chaque tableau
Dim T As Table
Dim L As Row
Dim R As Range
For Each T In ActiveDocument.Tables ' tous les tableaux
For Each L In T.Rows ' toutes les lignes
Set R = L.Cells(L.Cells.Count).Range ' dernière cellule
R.FormFields.Add R, wdFieldFormTextInput
Next L: Next T
Set T = Nothing: Set L = Nothing: Set R = Nothing
End Sub

ça conviendrait ?

Anacoluthe
« Je mets dans mes tableaux tout ce que j'aime.
Tant pis pour les choses, elles n'ont qu'à s'arranger entre elles. »
- Pablo PICASSO