Signaler

Macro Word : enregistrer copie document [Résolu/Fermé]

Posez votre question LLorina 313Messages postés jeudi 27 mai 2004Date d'inscription 9 septembre 2016 Dernière intervention - Dernière réponse le 10 déc. 2007 à 13:01 par phil232
Bonjour,

Lorsque que je vais dans Enregistrer sous puis que je donne un nom de mon document Word, j'aimerai qu'il s'enregistre à la fois dans le dossier que je lui ai demandé et dans un dossier commun à tous les documents. Et sans avoir à aller dans outils > macro, que ça se fasse automatiquement.

Exemple :
je veux enregistrer mon document sur mon pc dans mes documents dans le dossier1
je fais control S (par exemple ou un autre raccourci qu'importe)
et une copie se crée automatiquement sur ma clé usb
l'idéal, si c'est possible, serait que ça se fasse automatiquement sans que j'ai à faire quoi que ce soit, c'est à dire, j'enregistre mon document et word en fait une copie dans sur la clé en arrière plan.

Est-ce possible ?

J'ai trouvé sur le net cette macro faite par un internaute mais il faut à chaque fois activer la macro après avoir enregistré notre documnet pas très pratique... Et je n'y comprends rien pour la modifier...

[code]Public Sub Sauvegarde()

ActiveDocument.Save

Dim strDocName As String
Dim intPos As Integer

strDocName = ActiveDocument.Name
intPos = InStrRev(strDocName, ".")

strDocName1 = Left(strDocName, intPos - 1)
strDocName1 = "D:\" & strDocName1 & ".doc"

ActiveDocument.SaveAs FileName:=strDocName1
ActiveDocument.Close True
Set objDoc = Application.Documents.Open(strDocName)

End Sub[/code]

Si l'un d'entre vous pouvez m'éclairez là-dessus...

Je vous en remercie beaucoup par avance.

Bonne journée.
-----------
Lorina
Utile
+0
plus moins
Public Sub Sauvegarde()

ActiveDocument.Save 'sauvegarde du document en cours, on sait jamais

Dim strDocName As String
Dim intPos As Integer

strDocName = ActiveDocument.Name ' récuperation du nom de ce fichier
intPos = InStrRev(strDocName, ".") ' recherche de l'extension, attention elle commence par la droit InStrRev

strDocName1 = Left(strDocName, intPos - 1) ' on coupe l'éxtension, on sait jamais si l'originale est vraiement un ".doc"
strDocName1 = "D:\" & strDocName1 & ".doc" ' Ben, ajoute de l'éxtension, le D doit être remplacé par la lettre de la clé USB

ActiveDocument.SaveAs FileName:=strDocName1 ' Sauvegarde de la copie
ActiveDocument.Close True ' fermeture du fichier, faut voir si tu veux vraiement ça
Set objDoc = Application.Documents.Open(strDocName) ' reouverture du fichier original

End Sub
Utile
+0
plus moins
Bonsoir Phil232,

Vraiment, merci de ces explications très claires sur ce code.

J'ai réussi à lui assigner un raccourci clavier sans problème comme pour n'importe quelle commande (je pensais que c'était différent c'est pour cela que j'avais posé la question). C'est plus simple que je l'imaginais.

Ca marche vraiment très bien. Merci.

Juste pour savoir, c'est pas possible d'éviter le raccourci et qu'on puisse dire à la macro d'enregistrer directement dans l'autre dossier dès qu'on fait un premier enregistrement ? C'est à dire, dès qu'on enregistre et donne un nom DOC1.DOC dans un dossier quelconque qu'il l'enregistre automatiquement sur la clé par exemple sans faire le raccourci ? Mais sinon, je garde la solution du raccourci clavier qui est très bien déjà.

Autre question, toujours dans le même sujet...
Est-ce qu'il est possible de créer un exécutable à partir de cette macro pour ne pas avoir à la reparamétrer sur un autre pc ?
C'est à dire, je donne le fichier.exe à la personne qui en a besoin, elle clique dessus et tout se fait automatiquement sans que j'ai à revenir faire mon copier coller du code de ma macro sur son pc puis assigner le raccourci ?
Car c'est pour rendre service à un utilisateur débutant où je peux malheureusement difficilement accéder à son pc... Donc si j'avais un exécutable, il lui suffirait juste de cliquer directement puis tout s'installerait sans rien faire d'autre (la personne en question sera dépassée si je lui donne les manips et perdra courage à faire les manips pour aller dans les menus, copier coller, mettre le raccourci...).
Si trop compliqué, je me débrouillerai autrement mais s'il existait une solution ce serait vraiment pratique...

Merci encore.

Bonne soirée.
--------
Lorina
Utile
+0
plus moins
Pour la partie "d'enregistrer directement " c'est pas clair ce que tu veux.
Partie 2 : à partir d'une macro Word tu ne peux pas créer un .exe. Mais tu pourrais éventuellement travailler avec des modèles (enfin templates). Ou bien créer un bouton dans la menu bar au quel tu attribus la macro (ce qui se distribue aussi à travers d'un template)

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !