OVH Cloud OVH Cloud

Macro pour copier un document ouvert

7 réponses
Avatar
Patrick
Bonsoir à tous,
J'aimerai faire une macro pour enregistrer une copie d'un document *.pub
dans un dossier
seulement à la fermeture en tache de fond et sans que ça me demande
souhaitez-vous enregistrer les modifications... quand je quitte Publisher
(indépendamment de l'originale ouvert qui se trouve dans un autre dossier)
Je veux avoir toujours une copie du fichier que j'ai ouvert.
Merci de votre aide

7 réponses

Avatar
Clément Marcotte
Bonjour,

Je vais regarder plus tard; là, je suis un peu trop pressé.. Entre
temps, tu peux regarder dans l'aide de VBA, s'il n'y aurait pas
quelque chose du genre saveas, comme dans les autres applications
Office.

--
On n' apprend pas à un vieux singe à faire des grimaces
"Patrick" a écrit dans le message de
news:%
Bonsoir à tous,
J'aimerai faire une macro pour enregistrer une copie d'un document


*.pub
dans un dossier
seulement à la fermeture en tache de fond et sans que ça me demande
souhaitez-vous enregistrer les modifications... quand je quitte


Publisher
(indépendamment de l'originale ouvert qui se trouve dans un autre


dossier)
Je veux avoir toujours une copie du fichier que j'ai ouvert.
Merci de votre aide




Avatar
Patrick
Bonjour,
J'ai commençais par:

Private Sub Document_BeforeClose(Cancel As Boolean)
' MsgBox "Au revoir Patrick !"
' If ActiveDocument.Saved = False Then ActiveDocument.Save
ActiveDocument.SaveAs ("c:") + (ActiveDocument.Name), pbFilePublication
End Sub

Il me faut peut être faire une gestion d'erreur et j'aimerai aussi qu'il
prenne d'office extension du fichier ouvert.
Merci .
A+

"Clément Marcotte" a écrit dans le message
de news: uIbmM%
Bonjour,

Je vais regarder plus tard; là, je suis un peu trop pressé.. Entre
temps, tu peux regarder dans l'aide de VBA, s'il n'y aurait pas
quelque chose du genre saveas, comme dans les autres applications
Office.

--
On n' apprend pas à un vieux singe à faire des grimaces
"Patrick" a écrit dans le message de
news:%
Bonsoir à tous,
J'aimerai faire une macro pour enregistrer une copie d'un document


*.pub
dans un dossier
seulement à la fermeture en tache de fond et sans que ça me demande
souhaitez-vous enregistrer les modifications... quand je quitte


Publisher
(indépendamment de l'originale ouvert qui se trouve dans un autre


dossier)
Je veux avoir toujours une copie du fichier que j'ai ouvert.
Merci de votre aide







Avatar
Clément Marcotte
Bonjour,

Je viens de faire cela. Le programme prend le nom du document ouvert
et l'ajoute à celui d'un dossier de destination, mais il n'y a rien
non plus pour éviter d'écraser un fichier du même nom:

Private Sub Document_BeforeClose(Cancel As Boolean)
Dim lenom As String, ledossier As String
lenom = ActiveDocument.Name
ledossier = "c:copie"
lenom = ledossier & lenom
ActiveDocument.SaveAs _
FileName:=lenom
End Sub

--
On n' apprend pas à un vieux singe à faire des grimaces
"Patrick" a écrit dans le message de
news:
Bonjour,
J'ai commençais par:

Private Sub Document_BeforeClose(Cancel As Boolean)
' MsgBox "Au revoir Patrick !"
' If ActiveDocument.Saved = False Then ActiveDocument.Save
ActiveDocument.SaveAs ("c:") + (ActiveDocument.Name),


pbFilePublication
End Sub

Il me faut peut être faire une gestion d'erreur et j'aimerai aussi


qu'il
prenne d'office extension du fichier ouvert.
Merci .
A+

"Clément Marcotte" a écrit dans le


message
de news: uIbmM%
> Bonjour,
>
> Je vais regarder plus tard; là, je suis un peu trop pressé.. Entre
> temps, tu peux regarder dans l'aide de VBA, s'il n'y aurait pas
> quelque chose du genre saveas, comme dans les autres applications
> Office.
>
> --
> On n' apprend pas à un vieux singe à faire des grimaces
> "Patrick" a écrit dans le message de
> news:%
>> Bonsoir à tous,
>> J'aimerai faire une macro pour enregistrer une copie d'un


document
> *.pub
>> dans un dossier
>> seulement à la fermeture en tache de fond et sans que ça me


demande
>> souhaitez-vous enregistrer les modifications... quand je quitte
> Publisher
>> (indépendamment de l'originale ouvert qui se trouve dans un autre
> dossier)
>> Je veux avoir toujours une copie du fichier que j'ai ouvert.
>> Merci de votre aide
>>
>>
>




Avatar
Patrick
Bonsoir,
Bon ça fonctionne merci,
Comment sauvegarder cette macro pour la charger en macro complémentaire?
Merci de votre aide.
A+

"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Je viens de faire cela. Le programme prend le nom du document ouvert
et l'ajoute à celui d'un dossier de destination, mais il n'y a rien
non plus pour éviter d'écraser un fichier du même nom:

Private Sub Document_BeforeClose(Cancel As Boolean)
Dim lenom As String, ledossier As String
lenom = ActiveDocument.Name
ledossier = "c:copie"
lenom = ledossier & lenom
ActiveDocument.SaveAs _
FileName:=lenom
End Sub

--
On n' apprend pas à un vieux singe à faire des grimaces
"Patrick" a écrit dans le message de
news:
Bonjour,
J'ai commençais par:

Private Sub Document_BeforeClose(Cancel As Boolean)
' MsgBox "Au revoir Patrick !"
' If ActiveDocument.Saved = False Then ActiveDocument.Save
ActiveDocument.SaveAs ("c:") + (ActiveDocument.Name),


pbFilePublication
End Sub

Il me faut peut être faire une gestion d'erreur et j'aimerai aussi


qu'il
prenne d'office extension du fichier ouvert.
Merci .
A+

"Clément Marcotte" a écrit dans le


message
de news: uIbmM%
> Bonjour,
>
> Je vais regarder plus tard; là, je suis un peu trop pressé.. Entre
> temps, tu peux regarder dans l'aide de VBA, s'il n'y aurait pas
> quelque chose du genre saveas, comme dans les autres applications
> Office.
>
> --
> On n' apprend pas à un vieux singe à faire des grimaces
> "Patrick" a écrit dans le message de
> news:%
>> Bonsoir à tous,
>> J'aimerai faire une macro pour enregistrer une copie d'un


document
> *.pub
>> dans un dossier
>> seulement à la fermeture en tache de fond et sans que ça me


demande
>> souhaitez-vous enregistrer les modifications... quand je quitte
> Publisher
>> (indépendamment de l'originale ouvert qui se trouve dans un autre
> dossier)
>> Je veux avoir toujours une copie du fichier que j'ai ouvert.
>> Merci de votre aide
>>
>>
>







Avatar
Clément Marcotte
Bonjour,

Sauf horreur de ma part, les "macros complémentaires" de Publisher
doivent être compilées, avec un compilateur (VB pur et dur ou C++ et
d'autres), sous la forme de complément COM. (COM add-in)



--
On n' apprend pas à un vieux singe à faire des grimaces
"Patrick" a écrit dans le message de
news:%
Bonsoir,
Bon ça fonctionne merci,
Comment sauvegarder cette macro pour la charger en macro


complémentaire?
Merci de votre aide.
A+

"Clément Marcotte" a écrit dans le


message
de news:
> Bonjour,
>
> Je viens de faire cela. Le programme prend le nom du document


ouvert
> et l'ajoute à celui d'un dossier de destination, mais il n'y a


rien
> non plus pour éviter d'écraser un fichier du même nom:
>
> Private Sub Document_BeforeClose(Cancel As Boolean)
> Dim lenom As String, ledossier As String
> lenom = ActiveDocument.Name
> ledossier = "c:copie"
> lenom = ledossier & lenom
> ActiveDocument.SaveAs _
> FileName:=lenom
> End Sub
>
> --
> On n' apprend pas à un vieux singe à faire des grimaces
> "Patrick" a écrit dans le message de
> news:
>> Bonjour,
>> J'ai commençais par:
>>
>> Private Sub Document_BeforeClose(Cancel As Boolean)
>> ' MsgBox "Au revoir Patrick !"
>> ' If ActiveDocument.Saved = False Then ActiveDocument.Save
>> ActiveDocument.SaveAs ("c:") + (ActiveDocument.Name),
> pbFilePublication
>> End Sub
>>
>> Il me faut peut être faire une gestion d'erreur et j'aimerai


aussi
> qu'il
>> prenne d'office extension du fichier ouvert.
>> Merci .
>> A+
>>
>> "Clément Marcotte" a écrit dans


le
> message
>> de news: uIbmM%
>> > Bonjour,
>> >
>> > Je vais regarder plus tard; là, je suis un peu trop pressé..


Entre
>> > temps, tu peux regarder dans l'aide de VBA, s'il n'y aurait pas
>> > quelque chose du genre saveas, comme dans les autres


applications
>> > Office.
>> >
>> > --
>> > On n' apprend pas à un vieux singe à faire des grimaces
>> > "Patrick" a écrit dans le message de
>> > news:%
>> >> Bonsoir à tous,
>> >> J'aimerai faire une macro pour enregistrer une copie d'un
> document
>> > *.pub
>> >> dans un dossier
>> >> seulement à la fermeture en tache de fond et sans que ça me
> demande
>> >> souhaitez-vous enregistrer les modifications... quand je


quitte
>> > Publisher
>> >> (indépendamment de l'originale ouvert qui se trouve dans un


autre
>> > dossier)
>> >> Je veux avoir toujours une copie du fichier que j'ai ouvert.
>> >> Merci de votre aide
>> >>
>> >>
>> >
>>
>>
>




Avatar
Patrick
Bonsoir,
Comment faire alors pour que ma macro s'exécute à chaque nouveau document ?
Merci.

"Clément Marcotte" a écrit dans le message
de news: %
Bonjour,

Sauf horreur de ma part, les "macros complémentaires" de Publisher
doivent être compilées, avec un compilateur (VB pur et dur ou C++ et
d'autres), sous la forme de complément COM. (COM add-in)



--
On n' apprend pas à un vieux singe à faire des grimaces
"Patrick" a écrit dans le message de
news:%
Bonsoir,
Bon ça fonctionne merci,
Comment sauvegarder cette macro pour la charger en macro


complémentaire?
Merci de votre aide.
A+

"Clément Marcotte" a écrit dans le


message
de news:
> Bonjour,
>
> Je viens de faire cela. Le programme prend le nom du document


ouvert
> et l'ajoute à celui d'un dossier de destination, mais il n'y a


rien
> non plus pour éviter d'écraser un fichier du même nom:
>
> Private Sub Document_BeforeClose(Cancel As Boolean)
> Dim lenom As String, ledossier As String
> lenom = ActiveDocument.Name
> ledossier = "c:copie"
> lenom = ledossier & lenom
> ActiveDocument.SaveAs _
> FileName:=lenom
> End Sub
>
> --
> On n' apprend pas à un vieux singe à faire des grimaces
> "Patrick" a écrit dans le message de
> news:
>> Bonjour,
>> J'ai commençais par:
>>
>> Private Sub Document_BeforeClose(Cancel As Boolean)
>> ' MsgBox "Au revoir Patrick !"
>> ' If ActiveDocument.Saved = False Then ActiveDocument.Save
>> ActiveDocument.SaveAs ("c:") + (ActiveDocument.Name),
> pbFilePublication
>> End Sub
>>
>> Il me faut peut être faire une gestion d'erreur et j'aimerai


aussi
> qu'il
>> prenne d'office extension du fichier ouvert.
>> Merci .
>> A+
>>
>> "Clément Marcotte" a écrit dans


le
> message
>> de news: uIbmM%
>> > Bonjour,
>> >
>> > Je vais regarder plus tard; là, je suis un peu trop pressé..


Entre
>> > temps, tu peux regarder dans l'aide de VBA, s'il n'y aurait pas
>> > quelque chose du genre saveas, comme dans les autres


applications
>> > Office.
>> >
>> > --
>> > On n' apprend pas à un vieux singe à faire des grimaces
>> > "Patrick" a écrit dans le message de
>> > news:%
>> >> Bonsoir à tous,
>> >> J'aimerai faire une macro pour enregistrer une copie d'un
> document
>> > *.pub
>> >> dans un dossier
>> >> seulement à la fermeture en tache de fond et sans que ça me
> demande
>> >> souhaitez-vous enregistrer les modifications... quand je


quitte
>> > Publisher
>> >> (indépendamment de l'originale ouvert qui se trouve dans un


autre
>> > dossier)
>> >> Je veux avoir toujours une copie du fichier que j'ai ouvert.
>> >> Merci de votre aide
>> >>
>> >>
>> >
>>
>>
>







Avatar
ClémentMarcotte
Bonjour,

Pas vraiment d'idée pour l'instant. Malheureusement, j'ai eu un problème
d'ordinateur, et je suis à tout réinstaller..

Je vais devoir attendre un peu plus tard pour faire des recherches
approfondies.


"Patrick" a écrit dans le message de news:

Bonsoir,
Comment faire alors pour que ma macro s'exécute à chaque nouveau document


?
Merci.

"Clément Marcotte" a écrit dans le message
de news: %
> Bonjour,
>
> Sauf horreur de ma part, les "macros complémentaires" de Publisher
> doivent être compilées, avec un compilateur (VB pur et dur ou C++ et
> d'autres), sous la forme de complément COM. (COM add-in)
>
>
>
> --
> On n' apprend pas à un vieux singe à faire des grimaces
> "Patrick" a écrit dans le message de
> news:%
>> Bonsoir,
>> Bon ça fonctionne merci,
>> Comment sauvegarder cette macro pour la charger en macro
> complémentaire?
>> Merci de votre aide.
>> A+
>>
>> "Clément Marcotte" a écrit dans le
> message
>> de news:
>> > Bonjour,
>> >
>> > Je viens de faire cela. Le programme prend le nom du document
> ouvert
>> > et l'ajoute à celui d'un dossier de destination, mais il n'y a
> rien
>> > non plus pour éviter d'écraser un fichier du même nom:
>> >
>> > Private Sub Document_BeforeClose(Cancel As Boolean)
>> > Dim lenom As String, ledossier As String
>> > lenom = ActiveDocument.Name
>> > ledossier = "c:copie"
>> > lenom = ledossier & lenom
>> > ActiveDocument.SaveAs _
>> > FileName:=lenom
>> > End Sub
>> >
>> > --
>> > On n' apprend pas à un vieux singe à faire des grimaces
>> > "Patrick" a écrit dans le message de
>> > news:
>> >> Bonjour,
>> >> J'ai commençais par:
>> >>
>> >> Private Sub Document_BeforeClose(Cancel As Boolean)
>> >> ' MsgBox "Au revoir Patrick !"
>> >> ' If ActiveDocument.Saved = False Then ActiveDocument.Save
>> >> ActiveDocument.SaveAs ("c:") + (ActiveDocument.Name),
>> > pbFilePublication
>> >> End Sub
>> >>
>> >> Il me faut peut être faire une gestion d'erreur et j'aimerai
> aussi
>> > qu'il
>> >> prenne d'office extension du fichier ouvert.
>> >> Merci .
>> >> A+
>> >>
>> >> "Clément Marcotte" a écrit dans
> le
>> > message
>> >> de news: uIbmM%
>> >> > Bonjour,
>> >> >
>> >> > Je vais regarder plus tard; là, je suis un peu trop pressé..
> Entre
>> >> > temps, tu peux regarder dans l'aide de VBA, s'il n'y aurait pas
>> >> > quelque chose du genre saveas, comme dans les autres
> applications
>> >> > Office.
>> >> >
>> >> > --
>> >> > On n' apprend pas à un vieux singe à faire des grimaces
>> >> > "Patrick" a écrit dans le message de
>> >> > news:%
>> >> >> Bonsoir à tous,
>> >> >> J'aimerai faire une macro pour enregistrer une copie d'un
>> > document
>> >> > *.pub
>> >> >> dans un dossier
>> >> >> seulement à la fermeture en tache de fond et sans que ça me
>> > demande
>> >> >> souhaitez-vous enregistrer les modifications... quand je
> quitte
>> >> > Publisher
>> >> >> (indépendamment de l'originale ouvert qui se trouve dans un
> autre
>> >> > dossier)
>> >> >> Je veux avoir toujours une copie du fichier que j'ai ouvert.
>> >> >> Merci de votre aide
>> >> >>
>> >> >>
>> >> >
>> >>
>> >>
>> >
>>
>>
>