Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

modifier le enregistrer et le EnregistrerSous global

5 réponses
Avatar
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

5 réponses

Avatar
Laurent Longre
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





Avatar
Laurent Longre
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" a écrit dans le message de
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





Avatar
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" a écrit dans le message de
news:

Hello,

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

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


Avatar
Pierre Fauconnier
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" a écrit dans le message de news:

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" a écrit dans le message de
news:

Hello,

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

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





Avatar
jps
:-)))))
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" a écrit dans le
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...)