|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Bonjour,
Voila quelques temps que j'ai "développé" une macro permettant de : - Saisir des informations sous Excel - Ouvrir word - faire un publipostage - enregistrer le document a un endroit spécifique - fermer le document word nouvellement creé - quitter word. Cette macro fonctionne une fois sur 2. La premiere utilisation : tout fonctionne tres bien La deuxieme utilisation j'ai le message d'erreur suivant qui apparait : Run time error '462' The remote sever machine does not exist or is unavailable. Mon niveau de connaissance en VBA est Bidouille ++ (Je teste, je vais sur google pour récuperer et modifier les codes que je voudrais mettre en place etc...) mais je penses que ce probleme vient d'une mauvaise fermeture de word. Je l'ouvre comme ça : Code :
Code :
EDIT : A priori je ne suis pas au bon endroit sur le forum : est ce qu'un modérateur peut me déplacer? |
||||
|
|
00
|
|
|
#2 |
![]() ![]() |
bonjour,
évite d'utiliser les divers ActiveDocument, ActiveCell ... et consorts.. tu as un objet : qui référence ton document, utilise le ... D'ailleurs pourquoi la fermeture de 2 documents word ?
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
En fait suite au publipostage, je dois fermer le document que je viens de créer après l'avoir enregistre, puis je ferme la trame qui m'a servi de support pour le publipostage.
|
|
|
00
|
|
|
#4 |
![]() ![]() |
et en créant ou sauvant ton document tu ne créé pas une variable qui fait référence à celui-ci ? montre nous ton code ..
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Je ne suis pas super au point sur l'optimisation du codage et donc je ne crée presque pas de variable. De plus les noms de mes documents ne sont pas fixe et change a chaque fois que je lance la macro (modification d'une partie du nom et/ou numéro) Quoi qu'il en soit je posterai lundi le code. Par contre il faudra être indulgent car il être bien lourd
|
|
|
00
|
|
|
#6 |
![]() ![]() |
pas tout le code seulement celui qui te permet de créer ce nouveau document...
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Ok je ne mettrai que la fonction utilisée pour création, enregistrement et fermeture du doc.
|
|
|
00
|
|
|
#8 |
![]() ![]() |
un peu de lecture en attendant : Le publipostage Word-Excel
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Voila le code en question :
Code :
Bonne journée. |
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Bonjour,
Je me permets de remonter ce sujet pour voir si quelqu'un a pu se pencher sur mon probleme. Bonne journée |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
Combien de lignes de données saisis tu dans Excel pour faire ton publipostage ?
__________________
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
|
|
|
#12 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
J'ai un tableau qui fait 2 lignes (première ligne identification et deuxieme ligne ce que je veux avoir dans le champ identifié) et une 15aine de colonne.
Note : J'ai trouvé un moyen de contourner le probleme en fermant mon Excel et en le rouvrant pour génerer une nouvelle série de document... Pas très lean mais ça fonctionne. |
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
C'est un peu ce que je pensais. Pourquoi utilises tu un publipostage ? Les données peuvent être transférées de Excel vers Word sans devoir utiliser le publipostage, surtout lorqu'il n'est question de deux lignes. On prélève la donnée dans la cellule et on l'injecte sur un signet et on peut le faire pour tout un classeur.
__________________
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
|
|
|
#14 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Peux tu m'indiquer ou je peux me documenter sur ce sujet? Je n'ai jamais utilisé les signets.
|
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
Là : http://heureuxoli.developpez.com/off...ostage/#L8-D-1 Le publipostage est réellement intéressant quand on fait une multitude de documents. Mais je pense que dans ton cas, l'utilisation de signets devrait être plus souple. Et gros avantage, Word ne pose pas de question à l'utilisateur.
__________________
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
|
|
|
#16 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Je regarderai ça cette semaine si j'ai le temps. Je reviendrai vers vous pour un petit debrieffing.
Quoi qu'il en soit, merci pour le temps passé sur ce sujet. |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Bon, j'ai lu le tutoriel et je t'avoue que je suis dans le noir le plus complet quand à l'utilisation des signets...
A ce que j'ai compris il faut partir sur du publipostage pour pouvoir utiliser les signets... Si c'est le cas, je preferes ma méthode qui tourne de maniere correct. De plus je n'arrive pas creer un signet avec une valeur qui sera remplie via ma feuille Excel... Je t'avouerai que je suis même a 2 doigts d'abandonner et de rester plutot sur m améthode de publipostage qui fonctionne même si ça doit me forcer a fermer Excel à chaque fois que j'ai généré mes X documents. Pourrais tu me montrer un exemple dans lequel 1) On place des signets dans word 2) on prend des valeurs qui sont dans Excel 3) on met les valeurs prises et on les colle en valeur de signet. Merci par avance. Bonne journée. |
|
|
00
|
|
|
#18 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
Voilà l'exemple le plus simple que je puisse faire. Un signet S1 dans le document qui doit par facilité être placé dans le C:\Temp\, ce document est un .dot Une donnée dans la première feuille du classeur. Un petit code qui crée un document basé sur le .dot et qui remplit le signet avec le texte du classeur.
__________________
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 ! |
|
|
10
|
|
|
#19 |
|
Invité de passage
![]() Ingénieur validation Inscription : mars 2011 Messages : 12 ![]() |
Alors là c'est beaucoup plus clair.
Merci Par contre j'ai 2 ou 3 questions de forme. Tu utilise des template en .dot avec le code Code :
Set wDoc = wApp.Documents.Add(Template:="C:\Temp\signet.dot") Est-ce qu'utiliser le code avec des .docx est embetant : Code :
Set wDoc = wApp.Documents.Open("C:\Temp\Trame.docx") 2 choses m'interpellent : 1) le ...Documents.Add... 2) le ...(Template:=... Comme je le disais au début de ce post, je me suis formé sur le tas et j'ai peur de ne pas comprendre le pourquoi de cette partie de code a la place d'un Document.Open. Peux tu éclairer ma lanterne? Même si c'est pour m'envoyer sur un cours de débutant avec de la syntaxe : je suis preneur (Je me suis déja documenté mais je n'ai pas trouvé cette nuance dans ce que j'ai lu) |
|
|
00
|
|
|
#20 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
Pour créer un nouveau document, j'utilise de préférence un modèle .dot, .dotx ou .dotm si ta version est 2007 ou plus, ça ne change rien, par contre, pour les versions moins récentes, ça risque de moins bien le faire. La différence entre Open et Add va changer le résultat, avec Add, c'est un nouveau document, alors qu'avec Open, c'est le document qui est ouvert. si c'est pour traiter le contenu d'un document, on utilise Open, si c'est pour avoir un nouveau document comme dans le cas d'un publipostage, on utilise Add.
__________________
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
|
Copyright © 2000-2012 - www.developpez.com