begin process at 2012 02 15 12:08:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

Help...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Help...

mardi 10 août 2004 à 09:33:52 | Help...

mastere30

Bonjour,

J'ai crée une macro sous VBA-Word qui édite un document word. Si je reprends le document précédement édité, j'ai la possibilité de pars ma macro de changer certaines données du document et de l'enregistrer en temps que copie afin de garder un historique dans une base de donnée (fichierPlat). Je désirerais maintenant que dès que la copie du dit document est enregistré, offrire à l'utilisateur la possibilité d'éffacer le document de base (ne touche pas l'historique). Mon problème est que malgré un enregistrement d'une copie, Word refuse de considérer que le document de base est fermé et me sort un erreur "violation de partage". Comment puis-je faire comprendre à Word que le document de base est fermé et que c'est la copie qui est dorénavant ouvert?

Si vous avez besoin de plus d'info pour me répondre, faites-moi signe...

Merci pour votre aide...

MasterE30

mailto:mastermomo@hotmail.com
mardi 10 août 2004 à 16:12:12 | Re : Help...

nebut

1)par "enregistrer en tant que copie" qu'est ce que tu entends?

2)comment tu fermes ton document de base?

3)ca plante lors de la fermeture ou plus tard?

donne nous un bout de code car je ne vois pas bien ce que tu fais!!!!!

nebut le miagiste
mardi 10 août 2004 à 18:18:59 | Re : Help...

mastere30

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
mercredi 11 août 2004 à 10:15:38 | Re : Help...

nebut

j'ai regardé ton code et je ne trouve pas d'erreur!!!!
ca marche parfaitement chez moi voila ce que j'ai écrit:

au début mon doc s'appelle doc1 j'applique le code suivant:


ActiveDocument.SaveAs FileName:="exemple.doc", _
FileFormat:=wdFormatDocument, LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
:=False, SaveAsAOCELetter:=False



le fichier actif est exemple.doc
doc1 est fermé et toujours visible dans l'explorateur
j'applique le code suivant:



Dim fs
Dim docFile
Set fs = CreateObject("Scripting.filesystemobject")
docFile = "doc1.doc"
fs.DeleteFile (docFile)


et là au miracle doc1 a disparu
je ne comprends donc pas ton erreur
désolé
n'hésite pas à donner ta solution quand tu l'auras trouvé
bonne prog et à plus

nebut le miagiste
mercredi 11 août 2004 à 10:19:35 | Re : Help...

mastere30

Et ton doc1 est enregistré à la base?

Merci pour votre aide...

MasterE30

mailto:mastermomo@hotmail.com
mercredi 11 août 2004 à 12:14:06 | Re : Help...

nebut

oui, il est bien enregistré à la base
nebut le miagiste
mercredi 11 août 2004 à 12:23:20 | Re : Help...

mastere30

J'ai réessayé après un contrôle mais le résultat n'est pas mieux. Il me dis :



Erreur d'exécution '70':

Permission refusée


Et avant de faire terminer ma macro, si je vais dans l'explorateur, je trouve toujours le fichier de sauvegarde de Word (celui avec le "$") sur l'ancien fichier. Par contre, avec "ActiveDocument.Name", il me donne le nouveau nom (celui après sauvegarde). Donc comme je le dis souvent, Word es n... Il ne ferme pas le document de base avant la fermeture complête de Word (je présume du fait que je sois toujours dans la macro).

Y'a peut-être encore une chose à la quelle je pense, je dois travailler sur des lécteurs réseau car le C:\ nous est bloqué. Je me demande toujours si c'est le fait de pointer sur un serveur qui me fout le boxon...

En tout les cas, je te remercie d'avoir essayer.

Bonne



Cette discussion est classée dans : help, base, copie, word, document


Répondre à ce message

Sujets en rapport avec ce message

Effacer mon doc de base après copie par ma macro [ par mastere30 ] Bonjour,J'ai crée une macro sous VBA-Word qui édite un document word. Si je reprends le document précédement édité, j'ai la possibilité de pars ma mac Re effacement Document Word [ par mastere30 ] Bonjour, je reviens avec un problème au quel je n'ai pas réussi à obtenir de réponse, voici l'eeeeeexplication (version longue)J'ai crée une macro sou HELP - Afficher un document Word dans un control WebBrowser [ par flyingfish ] Bonjour,J'affiche un document Word ou Excel dans un control WebBrowser.Jusque là, aucun problème.Si ensuite une autre application vient au premier pla word et VB [ par felix ] Je fais un export de données de ma base 'fichier client' dans des doc Word. Les données s'insèrent via des signets, mon document de base ne doit donc Comment créer un document word avec des chams qui utilise plusieurs bases???? [ par Nos59 ] Salut, j'ai réalisé un programme qui me créé des fiches word à partir d'une base excel. Mon souci c'est que j'ai d'autre champ dans ce document word q Copie du contenu d'un document word / récupérer chemin courant [ par mat74 ] Bonjour à tous, voila j'aimerais pouvoir dupliquer exactement un fichier word à l'intérieur d'un autre. Depuis mon 1er fichier, j'ai essayé d'ouvri VBA, publipostage Excel, Word [ par poulain35 ] Bonjour, Je cherche un programme en VBA qui puisse faire du publipostage automatiquement. Je vous explique, j'ai une base de données sous Excel avec Ouvrir document Word [ par Sinsitrus ] Salut ! J'ai fouillé partout mais je n'ai pas trouvé comment ouvrir un document word qui dont le chemin est mis dans un textbox. avez vous une idée [Catégorie modifiée VB6 --> VBA] copier coller document word [ par valesco ] Bonjour J'ai fait un document word avec des textbox et des calculations entre textbox. Le document word est envoyé ou transféré sur différent ordin Copie de fichier sur VB ?? [ par nico8001 ] Bonjour, J'ai un projet à realiser je travaille sur visual basic 2008 et avec une base de données access 2000 en faite j'ai des fichiers à copier


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,373 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales