|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
bonjour,
c'est mon premier post sur word. j'ai un classeur excel avec des données dans des cellules bien identifiées. j'ai créé un formulaire, je ne sais pas si c'est le terme exact, avec 7 champs texte. Le formulaire sert à créer des attributions d'exposés à faire. Suivant les mois il me faut 24 ou 30 formulaires à imprimer. J'ai bien réussi à faire le transfert d'excel vers word vers un formulaire sans problème, ensuite j'ai fait un copier/coller du formulaire, j'ai modifié les 7 signets. mais modifier 200 signets, avec les risques d'erreurs, c'est un peu galère. comment faire pour automatiser le changement de nom du signet de chaque champ (ci-dessous les noms des signets) : sachant que je mets 2 formulaires par page, voici la syntaxe du signet S1=1ère semaine eleve=nom de l'élève P=salle principale ce qui change c'est S2 en S3, S4 et S5, pour les semaines et pour chaque semaine le P en 2, pour salle n°2 extrait de la macro excel : Code :
|
||
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Ce que tu souhaites faire n'est pas simple. Si un signet existe, on peut lui donner un nom. Pourrais-tu nous dire de quoi tu pars et ce que tu souhaites obtenir ? Avec l'explication que tu nous donnes pour l'instant, un simple publipostage devrait faire l'affaire.
__________________
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 ! |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
Bonsoir Heureux-oli,
je pars d'un tableau Excel, qui contient des données et je veux, dans Word remplir des convocations. ci-joint les fichiers |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Le fichier Excel ne contient rien ou presque rien. Si ce sont des convocations que tu souhaites faire, je pense que le publipostage est la solution. On définit un document de base avec des champs de publipostage. Et Word crée autant de documents qu'il n'y a d'enregistrements.
__________________
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 ! |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
merci pour ta réponse,
je vais regarder du côté du publipostage, mais je n'en ai jamais fait. bonne nuit et peut-être à bientôt pour un publipostage dans un autre post |
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
__________________
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 ! |
|
|
00
|
|
|
#7 | ||
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
bonjour,
merci pour ton lien. j'ai appris beaucoup de choses, mais je pense que pour mon cas, c'est pas l'idéal, sauf si je peux créer une étiquette en incluant les données d'excel ainsi que du texte. Ainsi je peux positionner plusieurs étiquettes par page. sinon en utilisant le publipostage pur, il me faut 30 pages, alors que je peux caser 3 convocations par page, c'est une petite économie de papier je le concède, mais sur une année c'est 240 pages d'économisées. par contre j'ai également trouvé ce lien: qui me convient mieux, j'ai ainsi pu commencer un bout de code : Code :
|
||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
on ne voit pas le lien: http://heureuxoli.developpez.com/office/sondage/
|
|
|
00
|
|
|
#9 | |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Citation:
__________________
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 ! |
|
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
bonsoir,
j'ai essayé d'utiliser une étiquette personnalisée avec les dimensions voulues, mais je n'arrive pas à la valider. de plus je bloque sur le nombre de bookmark, il m'en compte 16, alors qu'il y en a 330. je ne comprends pas!! |
|
|
00
|
|
|
#11 | ||||
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
bonsoir Heureux-oli,
j'ai fait mes formulaires, renommer tous les signets (330), protégé le document et enregistré en tant que modèle. je lance la macro excel qui doit alimenter Word, mais aléatoirement j'ai ce message : le membre de la collection requis n'existe pas. j'ouvre mon modèle regarde le signet incriminé et le Name à disparu, ou il est intervertit avec un autre signet. donc grande question "pourquoi ? D'autre part, j'ai récupéré, ce bout de code pour lister tout les champs: Code :
j'ai également récupéré ton code : Code :
la méthode Name de l'objet FormField à échoué. en résumé je suis un peu perdu. merci pour ton aide |
||||
|
|
00
|
|
|
#12 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Il n'y a pas de limite. Deux codes pour t'en convaincre : Code :
__________________
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 ! |
||
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
re, et merci de ta réponse
effectivement pour l'ajout pas de problème, mais quand tu exécutes le second code, dans l'affichage de la fenêtre exécution, la liste ne commence qu'à Texte152 jusqu'à Texte350. j'ai également fait un test en bouclant l'ajout jusqu'à 400 et dans la fenêtre exécution cela commence à Texte202. faut-il que je réinstalle office ? bon cela ne résout pas mon problème d'effacement et de permutation de champs, à moins que la réinstalle arrange tout. |
|
|
00
|
|
|
#14 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
C'est la limite des lignes affichables dans la fenêtre d'éxécution. Donc, les 350 sont bien listés. Si tu fais une exécution pas à pas, tu les auras sous les yeux, mais c'est pas vraiment le but. Pour injecter des données dans un FormField , on peut utiliser .Result, on n'efface pas le champ.
__________________
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 ! |
|
|
00
|
|
|
#15 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
re,
merci de ta réponse. pour l'utilisation de Result, comment tu fais pour l'intégrer dans excel, voici ma ligne qui alimente le FormField: Code :
WordDoc.Bookmarks("S11exposeP").Range.Text = Cells(6, 1) |
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 333 ![]() |
Salut,
Pour alimenter un FormField, il est préférable d'éviter de passer par un signet. Code :
ActiveDocument.FormFields("Text350").Result = Cells(1,1)
__________________
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 ! |
|
|
00
|
|
|
#17 |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
bonjour,
me revoilà car je bloque complètement. je joins le fichier Word et le fichier excel qui devrait alimenter Word. ce que je veux c'est remplir les champs de Word avec les infos contenues dans la feuille "ecole" d'excel. dans le fichier excel il y a la macro qui est sensée le faire. si tu peux m'aider, merci. |
|
|
00
|
|
|
#18 | ||
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
bonjour,
enfin j'ai trouvé une solution, peut-être pas dans les règles de l'art, mais elle fonctionne. à partir d'excel je fais un export en txt de mes données. dans Word j'ouvre le fichier txt et avec une boucle j'alimente mes champs. la structure de mon fichier Word permet de le faire ainsi Code :
lors de la mise à jour des champs et suivant la longueur de la donnée, j'ai un décalage de mes autres données, alors que j'ai mis : |
||
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Inscription : novembre 2011 Messages : 8 ![]() |
bonjour,
c'est un simple publipostage avec étiquette personnalisée j'ai réussi à ouvrir ton fichier word mais ta base de données excel c'est rapide à faire il ne faut pas oublier dans l'avant derniere étape du publipostage de mettre à jour les champs de fusion et ensuite de terminer et fusionner |
|
|
00
|
|
|
#20 | |
|
Invité régulier
![]() Inscription : septembre 2005 Messages : 27 ![]() |
bonsoir tetardapatte,
merci de ta réponse. j'ai essayé le publipostage, mais cela ne convient pas, car cela me fait 30 feuilles de papier, une par personne, alors que je peux mettre 3 convocations par feuilles donc 10 feuilles. et j'ai également le même problème les champs se remplissent en "insertion" et non en "refrappe". je n'ai pas compris ce que tu veux dire: Citation:
|
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com