Pages

Affichage des articles dont le libellé est Word. Afficher tous les articles
Affichage des articles dont le libellé est Word. Afficher tous les articles

Inclure un Word créé par un premier module dans un Word ouvert et modifié par une deuxième module sujet

mardi 8 avril 2014




Bonjour!
Débutante en VBA (et oui), je créée une petite application (VBA Excel) pour automatiser la rédaction de règlement de copropriété. J'ai écris un premier module qui créé un document Word avec toutes les désignations des lots, d'après une première feuille du tableau.
Dans un second module, j'ouvre un document word "référence", et je le modifie en fonction des différentes feuilles de mes tableaux. Mais il faut en plein milieu que j'y mette ma désignation des lots. Donc j'y ai mis un signet 'designationlots", et j'essaie de copier le premier Word dedans.

Merci de votre aide, je craque!!! J'ai cherché partout...


Code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim blabla As String
...
Set wrdApp = CreateObject("Word.Application")
Set wrdDoc = wrdApp.Documents.Open("C:\Documents and Settings\marie segalen\Bureau\Prog\Exemple&TravailMAS0478_RC_type.doc")
wrdApp.Visible = True
...
Call exceltoword ' je remplis mon premier doc avec la désignation des lots

'J'ai essayé :
Selection.InsertFile Filename:=ThisWorkbook.Path & "\EDD-Copro-000000.doc", Range:="designationlots", ConfirmConversions:=False, Link:=False, Attachment:=False ' il me répond Impossible d'aller à Selection qui est caché
'ou
wrdDoc3.InlineShapes.AddOLEObject ClassType:="Word.Document.8", Filename:=ThisWorkbook.Path & "\EDD-Copro-000000.doc" 'insère au début du doc une zone de texte non mise en page
'ou
Dim wrdDoc3 As Word.Document
Set wrdDoc3 = wrdApp.Documents.Open(ThisWorkbook.Path & "\EDD-Copro-000000.doc") 'il ne s'ouvre pas comme s'il était resté ouvert dans l'autre module ou je finis bien par wrdDoc.Close
wrdApp.Selection.WholeStory
'blabla = Selection.Copy
'Selection.Paste 'ne fonctionne pas non plus
'ou
'Selection.Goto what:=wdGoToBookmark, Name:=designationlots
'ou
'wrdDoc.Bookmarks("designationlots").Range.Text = blabla
'wrdApp.Selection.Paste
'wrdDoc3.Close

Sheets("Descriptif").UsedRange.Select 'de la même façon je copie un tableau (marche une fois sur deux selon ce qu'il y a devant)
Selection.Copy
wrdDoc.Bookmarks("Tableau1").Range.Paste



wrdDoc.TablesOfContents(1).Update

wrdDoc.SaveAs ("C:\Documents and Settings\marie segalen\Bureau\Prog\Exemple&TravailMAS\test_RC1.doc")
wrdDoc.Close
wrdApp.Quit






Actualité - Microsoft publie le code source d’origine de MS-Dos et Word sujet

vendredi 28 mars 2014




Microsoft vient de rendre public le code source des premières versions de MS-Dos (1.10 et 2.0) et de Word pour Windows (1.1a) par l’intermédiaire du Musée de l'histoire de l'ordinateur. Le géant...

Lire la suite : Microsoft publie le code source d’origine de MS-Dos et Word




XL 2010 Questions Macro édition de courriers Word sujet




Bonjour le forum,

Je travaille sur une macro qui permet, à partir d'une base Excel, de créer un courrier Word, en remplissant des signets. Le courrier est ensuite enregistré en pdf et l'utilisateur peut ou non imprimer "physiquement" le courrier.

Toute la macro est dans Excel, même si elle a des impacts dans Word.

Le fichier pdf s'enregistre très bien, au bon endroit et ne s'ouvre pas (comme prévu).

Je voudrais ensuite qu'avant que le fichier Word se ferme, l'utilisateur ait la possibilité de l'imprimer.

Tout fonctionne, à quelques exceptions près.

1°) le nom du fichier pdf n'est pas bon, puisque la macro va rechercher (comme je lui ai demandé), la valeur de la cellule B2. Or, la valeur à prendre est toujours dans la colonne B, mais c'est B2, B3, B4 ... selon que les informations contenues dans le courrier sont dans les lignes 2, 3 ou 4. Je pense qu'avec un For i = 1 to ..., ça devrait fonctionner, mais je ne sais pas l'utiliser.

2°) pour permettre à l'utilisateur d'imprimer le courrier Word depuis Excel, j'ai inséré une msgbox avec des instructions (que je mette OUI ou NON, la macro imprime). Il me semble que, pour ce faire, en utilisant Excel, il faut rendre Excel visible, ce que j'ai essayé et qui ne fonctionne pas.

3°) Ensuite, que l'utilisateur imprime ou non, Word se ferme, sans enregistrer d'autres changements et on retourne à Excel. Et ça, je ne sais pas faire non plus.

Je joins mon fichier test et les courriers. Vous voudrez bien ne pas tenir compte du fond (!!).
Par ailleurs, comme j'ai changé les répertoires de destination, cela ne devrait pas fonctionner tout de suite. Vous serez obligés de les reconstituer.

J'ai promis à des collègues de les aider très vite sur la question.

Alors, merci beaucoup par avance.

Bien cordialement.













Fichiers attachés