Voilà :
Sur un document Word j'ai une macro qui me permet d'enregistrer le document dans un repertoire precis dans un dossier precis en fonction d'un champ du document (les champs sont renseigné par une BD Access 2003)
Voici le code :Toutefois, je voudrais le modifier :
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
35
36
37
38
39
40
41
42
43
44 Sub MonPubli() Dim myDoc As Document Dim stName As String Dim iPrec As Integer Set myDoc = ActiveDocument Dim stRep As String With myDoc.MailMerge .DataSource.ActiveRecord = wdFirstRecord While iPrec < .DataSource.ActiveRecord .DataSource.FirstRecord = .DataSource.ActiveRecord .DataSource.LastRecord = .DataSource.ActiveRecord .Destination = wdSendToNewDocument .Execute stName = "D:\Company\PM\SE\" & .DataSource.DataFields(1) & "\FAX.doc" Debug.Print stName '------------------------------------------------------------------------------- '----------------Vérifie si le fichier existe déjà ----------------------------- If Dir(stName) <> "" Then MsgBox ("Le Document Existe Déjà, Faire Enregistrer Sous et le Renommer") Exit Sub Else End If '------------------------------------------------------------------------------- '-----------------Vérifie si le Dossier existe déjà----------------------------- stRep = .DataSource.DataFields(1) Dim Chemin As String 'Vérifie si le répertoire existe. If Dir("D:\Company\PM\SE", vbDirectory + vbHidden) <> "" Then 'Vérifie que le dossier à créer n'existe pas déjà dans le répertoire If Dir("D:\Company\PM\SE" & "\" & stRep, vbDirectory + vbHidden) = "" Then _ MkDir "D:\Company\PM\SE" & "\" & stRep End If '--------------------------------------------------------------------------------------------------------------- ActiveDocument.SaveAs stName ActiveDocument.PrintOut myDoc.PrintOut ActiveDocument.Close False iPrec = .DataSource.ActiveRecord Wend End With myDoc.Parent.Quit False End Sub
D'aprés le code, lorsque dans le dossier, un document nommé "Fax.doc" existe déjà je voudrais qu'à la fin de celui que j'ai et que ne peut donc pas enregistrer, il s'y rajoute "2" (par exemple) pour obtenir "Fax2.doc" et si celui ci existe déjà je puisse avoir "Fax3.doc" (même si c'est un truc qui ne doit arriver que trés rarement)
J'espère mettre bien expliqué
Partager