Bonjour à tous,
Je sollicite votre aide pour un problème que je rencontre sur Word.
J'ai un fichier "maître" (référence) à partir duquel j'aimerais créer d'autres fichiers Word (ce sont les mêmes que le fichier maître mais je supprime certaines sections, je fais en quelque sorte un filtre sur ce que je veux).
Mon problème c'est que ma macro est dans mon fichier maître donc quand je crée mon premier fichier, je change le nom du fichier maître via SaveAs puis je le ferme à la fin ce qu'il fait que la macro s'arrête...
Je voulais utiliser FileCopy pour copier mon fichier maître et ensuite faire les modifications dans le fichier copié mais on ne peut pas faire de FileCopy sur un fichier qui est ouvert.
La seule solution que je vois qui n'est pas ma préférée, c'est de copier à la main le fichier maître X fois et ensuite de les ouvrir et de les modifier par macros.
Sinon est-ce qu'il est possible de créer un nouveau document Word, de copier-coller le contenu (texte, template, etc.) du fichier maître dans ce nouveau fichier puis de retirer ce que je veux ?
Ou est-ce que je mets ma macro directement dans Word plutôt que dans le fichier maître ?
Un extrait de la macro :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub ManuelTous() Dim i As Integer Dim NomFichier(3) As String, ManuelAdmin As String i = 1 ManuelAdmin = ActiveDocument.FullName NomFichier(1) = ActiveDocument.Path & "\" & "BLABLA1.docx" NomFichier(2) = ActiveDocument.Path & "\" & "BLABLA2.docx" NomFichier(3) = ActiveDocument.Path & "\" & "BLABLA3.docx" For i = 1 To 3 ' Enregistrer sous nouveau nom (je pense que je devrais peut-être le faire à la fin de la macro avant le close) ActiveDocument.SaveAs FileName:=NomFichier(i) ' Réouverture du fichier maître Documents.Open ManuelAdmin ' Focus sur le fichier enregistré sous précédemment Documents(Right(NomFichier(i), Len(NomFichier(i)) - Len(ActiveDocument.Path & "\"))).Activate ' Modification du document ... ... ' Fermeture du document ActiveDocument.Close Next i End Sub
Partager