modifier le enregistrer et le EnregistrerSous global

Le
Pierre Bunoz
Bonjour
Peut on gérer l'événement Save et SaveAS dans l'environnement global et non
pas au niveau d'un fichier en particulier
Je m'explique : le besoin est :
Chaque que fois que l'utilisateur enregistre un fichier sur un poste
particulier
Un clone du fichier original est enregistré dans un dossier de sauvegarde
(différent du dossier du classeur actif)

(la solution est peut être par le biai d'une macro-complémentaire mda).
Merci de votre aide
Cordialement
Pierre
Vos réponses
Trier par : date / pertinence
Laurent Longre
Le #1972491
Hello,

- Dans un module de classe que tu nommes "clsXLApp" :

'=================
Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)

If Not Wb.Saved Then
Cancel = True
App.EnableEvents = False
Do
Select Case MsgBox("Voulez-vous enregistrer les modifications " & _
"apportées à '" & Wb.Name & "'?", vbYesNoCancel + vbExclamation)
Case vbYes
App_WorkbookBeforeSave Wb, Wb.Path = "", 0
If Wb.Saved Then Wb.Close: Exit Do
Case vbNo
Wb.Close False: Exit Do
Case vbCancel: Exit Do
End Select
Loop
App.EnableEvents = True
End If

End Sub

Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As
Boolean, Cancel As Boolean)

If SaveAsUI Then
With App
.EnableEvents = False
If Not .Dialogs(xlDialogSaveAs).Show Then
.EnableEvents = True
Exit Sub
End If
.EnableEvents = True
End With
End If
Wb.SaveCopyAs "C:Sauvegardes" & Wb.Name
Cancel = True

End Sub

'=================
- Et dans le module ThisWorkbook du même classeur :

'=================
Dim XLApp As New clsXLApp

Private Sub Workbook_Open()

Set XLApp.App = Application

End Sub

'=================
Pour tester, exécute d'abord la procédure Workbook_Open. Remplace
"C:Sauvegardes" par le dossier que tu veux.

Tu peux enregistrer et installer ça comme macro complémentaire.

Cordialement,

Laurent

Bonjour
Peut on gérer l'événement Save et SaveAS dans l'environnement global et non
pas au niveau d'un fichier en particulier
Je m'explique : le besoin est :
Chaque que fois que l'utilisateur enregistre un fichier sur un poste
particulier
Un clone du fichier original est enregistré dans un dossier de sauvegarde
(différent du dossier du classeur actif)

(la solution est peut être par le biai d'une macro-complémentaire mda).
Merci de votre aide
Cordialement
Pierre





Laurent Longre
Le #1972481
Hello,

- Dans un module de classe que tu nommes "clsXLApp" :

'=================
Public WithEvents App As Application

Private Sub App_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)

If Not Wb.Saved Then
Cancel = True
App.EnableEvents = False
Do
Select Case MsgBox("Voulez-vous enregistrer les modifications " & _
"apportées à '" & Wb.Name & "'?", vbYesNoCancel + vbExclamation)
Case vbYes
App_WorkbookBeforeSave Wb, Wb.Path = "", 0
If Wb.Saved Then Wb.Close: Exit Do
Case vbNo
Wb.Close False: Exit Do
Case vbCancel: Exit Do
End Select
Loop
App.EnableEvents = True
End If

End Sub

Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, _
ByVal SaveAsUI As Boolean, Cancel As Boolean)

If SaveAsUI Then
With App
.EnableEvents = False
If Not .Dialogs(xlDialogSaveAs).Show Then
.EnableEvents = True
Exit Sub
End If
.EnableEvents = True
End With
End If
Wb.SaveCopyAs "C:Sauvegardes" & Wb.Name
Cancel = True

End Sub

'=================
- Et dans le module ThisWorkbook du même classeur :

'=================
Dim XLApp As New clsXLApp

Private Sub Workbook_Open()

Set XLApp.App = Application

End Sub

'=================
Pour tester, exécute d'abord la procédure Workbook_Open. Remplace
"C:Sauvegardes" par le dossier que tu veux.

Tu peux enregistrer et installer ça comme macro complémentaire.

Cordialement,

Laurent

"Pierre Bunoz" news:421994ae$0$17265$
Bonjour
Peut on gérer l'événement Save et SaveAS dans l'environnement global et
non

pas au niveau d'un fichier en particulier
Je m'explique : le besoin est :
Chaque que fois que l'utilisateur enregistre un fichier sur un poste
particulier
Un clone du fichier original est enregistré dans un dossier de sauvegarde
(différent du dossier du classeur actif)

(la solution est peut être par le biai d'une macro-complémentaire mda).
Merci de votre aide
Cordialement
Pierre





jps
Le #1972471
oui, oui, on a vu, laurent, que tu étais debout à 7h du mat' : pas la peine
d'en faire deux fromages...
tu m'as quand même fait penser aux nuits où je rentre, un peu poet-poet, sur
les coups de 4h du matin ; évidemment, les nombreuses pendules qui peuplent
ma maison se mettent à sonner et moi, les chaussures à la main, de leur
crier à voix suffisamment haute pour être entendu : ah! vos geules, les
mouettes : on sait que c'est une heure, pas la peine de le répéter quatre
fois...
jps

"Laurent Longre" news:

Hello,

- Dans un module de classe que tu nommes "clsXLApp" :

'================= >


Pierre Fauconnier
Le #1972131
tu m'as quand même fait penser aux nuits où je rentre, un peu poet-poet,
sur


Un peu poet-poet avec du beaujolais, ben c'est c'est du beau, joli...

Pierre

PS. Ca m'étonnerait que ce soit "un peu" ... ( bruit d'un scud amical en
arrière-fond...)

"jps"
oui, oui, on a vu, laurent, que tu étais debout à 7h du mat' : pas la
peine
d'en faire deux fromages...
tu m'as quand même fait penser aux nuits où je rentre, un peu poet-poet,
sur
les coups de 4h du matin ; évidemment, les nombreuses pendules qui
peuplent
ma maison se mettent à sonner et moi, les chaussures à la main, de leur
crier à voix suffisamment haute pour être entendu : ah! vos geules, les
mouettes : on sait que c'est une heure, pas la peine de le répéter quatre
fois...
jps

"Laurent Longre" news:

Hello,

- Dans un module de classe que tu nommes "clsXLApp" :

'================= >>





jps
Le #1972091
:-)))))
même si c'est un peu l'hôpital qui se fout de la charité...
jps (sensible aux bruits d'arrière-fond)

"Pierre Fauconnier" message de news:
tu m'as quand même fait penser aux nuits où je rentre, un peu poet-poet,
sur


Un peu poet-poet avec du beaujolais, ben c'est c'est du beau, joli...

Pierre

PS. Ca m'étonnerait que ce soit "un peu" ... ( bruit d'un scud amical en
arrière-fond...)




Publicité
Poster une réponse
Anonyme