|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2003 Messages : 25 ![]() |
Bonjour à Tous,
Je souhaiterais réaliser un document word "dynamique" à partir de données stockées dans un fichier excel. Pour illustrer ce que j'aimerais réaliser, je vais prendre l'exemple d'un catalogue qui ressemble à mon besoin Exemple : Titre 1 : Calalogue des clous clous1 detail1 prix1 clous2 detail2 prix2 ... Titre 2 : Catalogue des vis vis1 detail1 prix1 vis2 detail2 prix2 ... J'avais pensé utiliser la fonction publipostage, mais celle-ci me retourne quelque chose dans ce style : Titre 1 : Calalogue des clous clous1 detail1 prix1 Titre 2 : Catalogue des vis vis1 detail1 prix1 Titre 3 : Calalogue des clous clous2 detail2 prix2 Titre 4 : Catalogue des vis vis2 detail2 prix2 ... Une autre idée était d'utiliser la fonction insérer une base de données, mais celle-ci est alors incorporée sous forme de tableau dont seul la mise en forme peut être modifiée et non la mise en page. Pour illustré mon besoin, imaginons que j'ai besoin d'une mise en page pour chaque article qui resemblerait à cela : clous1 detail1 ....................................................prix1 clous2 detail2 ....................................................prix2 Je pense que seul une programmation VBA peut résoudre mon problème, mais peut-être (et j'espère) je me trompe. Quelqu'un aurait-il une idée ou une piste ? Merci d'avance. Olivier. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
__________________
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é de passage
![]() Inscription : février 2003 Messages : 25 ![]() |
Bonsoir Heureux-oli,
J'ai lu en long et en large ton tuto, en particulier la fin qui je pense me concerne plus, mais je n'arrive pas à l'appliquer à mon cas d'école. Je viens d'y passer 1 jour dessus ! Si j'ai bien compris la philo appliquée à mon problème, il faudrait créer un modèle avec la mise en page qui va bien (en utilisant la notion de signet pour insérer les données où l'on veut) et ensuite dans le document principale, faire appel à ce "template" pour le remplir et le copier dans le document appelant et cela autant de fois que l'on veut. Peux-tu me dire si cela est la bonne méthode et si jamais tu tombes sur un exemple, je serais intéressé. Merci d'avance, Olivier. |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
C'est effectivement la bonne méthode.
Les exemples sont dans la Version Hors ligne. Le zip contient 3 fichiers.
__________________
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é de passage
![]() Inscription : février 2003 Messages : 25 ![]() |
Merci pour tes réponses.
J'avance doucement vers le long chemin de la compréhension. Voici sur un exemple, à quoi je suis arrivé : Code :
- le doc modèle qui s'ouvre / se ferme comme à Noël - ce qui n'est pas très grave, - l'insertion à l'endroit voulu du doc résultat se fait par ordre inverse - j'ai dans l'odre le 3ème tableau puis 2 fois le premier tableau (le deuxième n'est pas affiché !) Merci d'avance pour ton aide, Olivier. |
||
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
J'ai ajouté des fichiers d'exemples, il n'y en a pas beaucoup.
Je vais essayer d'en mettre plus la prochaine fois et d'étoffer cet article. Par contre je ne comprends pas très bien ! Tu fais une table par document et tu copies la table dans le document actif. Mais tu dois rencontrer une autre erreur, le Bookmark ne peut servir qu'une fois !
__________________
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é de passage
![]() Inscription : février 2003 Messages : 25 ![]() |
Non cela focntionne sans erreur, mais pas comme je voudrais. A priori le signet peut servir plusieurs fois... mais avec l'ordre que j'ai cité pour le résultat.
Concernant mon projet, je voudrais mettre dans word, une suite de tableau (formatés) qui sont construit à partir de données excel et cela à des endroits précis de mon document (en fonction de leurs contenus). En espérant que ce point rajoute de la clarté dans l'expression de mon besoin. Olivier. |
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
C'est un peu plus complexe.
Pour les points précis, il faut ajouter des signets pour pouvoir les retrouver facilement dans le document. Ensuite, on peut ajouter les tableaux avec la méthode Add. Code :
ActiveDocument.Tables.Add Range:=Selection.Range , NumRows:=2, numcolumns:=3 Code :
ActiveDocument.Tables.Add Range:=Bookmarks(1).range , NumRows:=2, numcolumns:=3
__________________
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
|
|
|
#9 | ||
|
Invité de passage
![]() Inscription : février 2003 Messages : 25 ![]() |
J'ai essayé de tester le tables.add comme tu me l'a conseillé, mai là je bloque sur une erreur sans doute du à une utilisation trop brutale : "Erreur : 5850 La plage spécifiée ne fait pas partie du document ou de l'article sélectionné."
Code :
Mais cela ne résoud pas mon problème pour insérer les tableaux ou je veux dans le texte et parfois plusieurs fois au même endroit. Olivier. |
||
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Si tu pouvais mettre en commentaire ce que tu veux que ton code fasse dans ton exemple.
A force, je finis par me perdre dans tous les codes.
__________________
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
|
|
|
#11 |
|
Invité de passage
![]() Inscription : février 2003 Messages : 25 ![]() |
Voici un exemple en image qui j'espère sera plus clair que mon discours.
Les tableaux sont incorporés à la volée en fonction du contenu d'excel. Olivier. |
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Avec plusieurs lignes par tableau ou une seule ligne de données ?
__________________
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é de passage
![]() Inscription : février 2003 Messages : 25 ![]() |
Avec plusieurs lignes. La présentation finale sous forme de tableau est assez complexe.
En fait, cela ressemblerait plutôt à la nouvelle image jointe. |
|
|
00
|
|
|
#14 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2005 Messages : 54 ![]() |
Salut,
Voici un exemple: J'ai des agences qui ont des prestations. Pour chaque agence, j'affiche ses caractéristiques et les prestations qui lui sont associée: Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com