C'est pas évident pour le bout de code, ma macro fait 2MB ;-P Je vais essayer de préciser.
Ma macro est capable de créer une offre puis, si le client est ok avec l'offre, d'en faire le contrat ou si le client n'est pas d'accord, de reprendre le document et d'en refaire une nouvelle offre. Pour ce faire, je passe à travers ma macro ou je saisi toutes les coordonnées de l'offre et fais mes calcules, puis en fin de macro, il édite mon document Word et l'enregistre(p.e : "Offre_Muster_Hans_du_10_aout_10heure18.doc") puis m'en fais une Pseudo-base de données, un fichier Texte ("Offre_Muster_Hans_du_10_aout_10heure18.txt").
Si maintenant je veux la retravailler pour des raisons divers (faire le contrat ou corriger l'offre), j'ouvre le document de base ("Offre_Muster_Hans_du_10_aout_10heure18.doc"), le document fait appel au Modèle pour la macro, ma macro fait appel à ma pseudo-base de donnée ("Offre_Muster_Hans_du_10_aout_10heure18.txt") et récupère toutes les données afin d'éviter de recharger le tout manuellement.
De la, je retraverser ma macro et mes formulaires, change les paramètres désirés et en fin de macro le document se réenregistre avec un nouveau nom ("Offre_Muster_Hans_du_10_aout_10heure40.doc") par la commande :
ActiveDocument.SaveAs FileName:=nomDoc, FileFormat:=wdFormatDocument, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False
ainsi que la DB ("Offre_Muster_Hans_du_10_aout_10heure40.txt").
A ce moment précis je me retrouve avec 2 documents "Offre" et 2 DB (.txt) dont l'ancienne ne me sert plus et vu la quantité de documents édités, je vais saturer un répertoir avec des copies inutiles.
Actuellement je fais la suppression manuellement après fermeture de Word en allant dans le dossier et cliquer sur supprimer. J'aimerais bien que ma macro soit capable dès que j'ai enregistré le nouveau document (Offre.....10heure40.doc) de me supprimer le document de base (Offre...10heure18.doc). Le problème ne se pose pas pour les DB, car le fichier txt utilisé est déjà refermé, et donc un éffacement sans problème.
Voici le code que j'essayé d'utiliser :
Sub effaceFichiers()
Dim fs As FileSystemObject
Dim txtFile, docFile, listFile, nom As String
Dim longueur, indice As Integer
txtFile = "Offre_Muster_Hans_du_10_aout_10heure18.txt"
docFile = "Offre_Muster_Hans_du_10_aout_10heure18.doc"
fs.DeleteFile (txtFile)
fs.DeleteFile (docFile)
On Error GoTo errormsg
fs.DeleteFile (listFile)
End Sub
Ce code je l'appel en fin de macro
L'érreur est apparament que malgré que le document affiché soit le nouveau (nouveau nom), Eord ne considère pas l'ancien document comme fermé et dès la tentative de suppression, je me prends une erreur "Violation de partage"
Voilà en un peu plus précis, j'éspère que je suis plus ou moins claire.
Merci pour votre aide...
MasterE30
[mailto:mastermomo@hotmail.com mailto:mastermomo@hotmail.com]