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

Sauvegarde

4 réponses
Avatar
Peponne31
Bonsoir,

Sous Excel 2003
Je voudrais automatiser la sauvegarde de mon programme sur disque dur et sur
clef automatiquement à la fermeture de celui-ci.
Si la clef est présente, aucun problème (juste un peux long à fermer)
Si la clef est absente, j'ai bien le message d'erreur, mis lorsque je clique
sur OK le programme continue, me propose de confirmer et ensuite se ferme.
Voici ce que jai fais,

Private Sub FermerProg_Click()
Dim w
On Error GoTo Problèmes
For Each w In Application.Workbooks
Application.DisplayAlerts = False
w.Save '---------Sauvegarde le classeur sur l'ordi --------
w.SaveAs "K:\sav-prog\" & w.Name '----Sauvegarde le classeur sur
la clef de sauvegarde ----
Application.DisplayAlerts = True
Next w
' Exit Sub
mywav6 ' ceci exécute la macro qui est dans le module 5
Application.ScreenUpdating = True
Application.CommandBars.ActiveMenuBar.Enabled = True
Application.CommandBars("Formatting").Visible = True
Application.CommandBars("Standard").Visible = True
Application.DisplayFormulaBar = True
Application.DisplayScrollBars = True
ActiveSheet.Protect
Application.Quit
Exit Sub
Problèmes:
MsgBox "Vérifier que la clef soit en place"
Resume Next
End Sub
Si quelqu'un veut bien m'aider à corriger !!!
merci par avance.
Peponne31

4 réponses

Avatar
MichDenis
Bonjour Peponne31,

Pourquoi ne pas d'abord testé si le chemin où tu veux enregistrer
ton fichier existe. La ligne de code suivante de la procédure
Application.DisplayAlerts = False sera nécessaire seulement
pour empêcher le message qu'émet Excel si un fichier du même
nom existe déjà dans le répertoire. Est-ce qu' Excel doit ou non
écraser le fichier déjà présent par la nouvelle cuvée.

'-----------------------------------
If Dir("K:sav-prog", vbDirectory) <> "" Then
'sauvegarde
Application.DisplayAlerts = False
For Each w In Application.Workbooks
w.SaveAs "K:sav-prog" & w.Name
Next
Application.DisplayAlerts = True
Else
'le lecteur n'est pas présent
'Code si requis par ton application
End If
'-----------------------------------



"Peponne31" a écrit dans le message de groupe de
discussion :
Bonsoir,

Sous Excel 2003
Je voudrais automatiser la sauvegarde de mon programme sur disque dur et sur
clef automatiquement à la fermeture de celui-ci.
Si la clef est présente, aucun problème (juste un peux long à fermer)
Si la clef est absente, j'ai bien le message d'erreur, mis lorsque je clique
sur OK le programme continue, me propose de confirmer et ensuite se ferme.
Voici ce que jai fais,

Private Sub FermerProg_Click()
Dim w
On Error GoTo Problèmes
For Each w In Application.Workbooks
Application.DisplayAlerts = False
w.Save '---------Sauvegarde le classeur sur l'ordi --------
w.SaveAs "K:sav-prog" & w.Name '----Sauvegarde le classeur sur
la clef de sauvegarde ----
Application.DisplayAlerts = True
Next w
' Exit Sub
mywav6 ' ceci exécute la macro qui est dans le module 5
Application.ScreenUpdating = True
Application.CommandBars.ActiveMenuBar.Enabled = True
Application.CommandBars("Formatting").Visible = True
Application.CommandBars("Standard").Visible = True
Application.DisplayFormulaBar = True
Application.DisplayScrollBars = True
ActiveSheet.Protect
Application.Quit
Exit Sub
Problèmes:
MsgBox "Vérifier que la clef soit en place"
Resume Next
End Sub
Si quelqu'un veut bien m'aider à corriger !!!
merci par avance.
Peponne31
Avatar
Peponne31
Bonsoir MichDenis,

Merci pour ta réponse, c'est ce que je recherchai.
Je veux à la fermeture du programme, l'enregistrer dans
C: un temps pour elle et lui
et simultanément pour une sauvegarde de sécurité dans
K:sav-prog
le tout en écrasent les enciens fichiers. Grace à toi ji suis arrivé.
Voici ce que j'ai écris dis moi si c'est correct.

Private Sub FermerProg_Click()
Dim w
If Dir("K:sav-prog", vbDirectory) <> "" Then
Application.DisplayAlerts = False
For Each w In Application.Workbooks
w.Save '---------Sauvegarde le classeur sur l'ordi --------
w.SaveAs "K:sav-prog" & w.Name '----Sauvegarde le classeur
sur la clef de sauvegarde ----
Next
Application.DisplayAlerts = True
mywav6 ' ceci exécute la macro qui est dans le module 5
Application.ScreenUpdating = True
Application.CommandBars.ActiveMenuBar.Enabled = True
Application.CommandBars("Formatting").Visible = True
Application.CommandBars("Standard").Visible = True
Application.DisplayFormulaBar = True
Application.DisplayScrollBars = True
ActiveSheet.Protect
Application.Quit
Exit Sub
Else
MsgBox "Vérifier que la clef soit bien en place"
End If
End Sub

Merci à toi
Peponne31

"MichDenis" a écrit :

Bonjour Peponne31,

Pourquoi ne pas d'abord testé si le chemin où tu veux enregistrer
ton fichier existe. La ligne de code suivante de la procédure
Application.DisplayAlerts = False sera nécessaire seulement
pour empêcher le message qu'émet Excel si un fichier du même
nom existe déjà dans le répertoire. Est-ce qu' Excel doit ou non
écraser le fichier déjà présent par la nouvelle cuvée.

'-----------------------------------
If Dir("K:sav-prog", vbDirectory) <> "" Then
'sauvegarde
Application.DisplayAlerts = False
For Each w In Application.Workbooks
w.SaveAs "K:sav-prog" & w.Name
Next
Application.DisplayAlerts = True
Else
'le lecteur n'est pas présent
'Code si requis par ton application
End If
'-----------------------------------



"Peponne31" a écrit dans le message de groupe de
discussion :
Bonsoir,

Sous Excel 2003
Je voudrais automatiser la sauvegarde de mon programme sur disque dur et sur
clef automatiquement à la fermeture de celui-ci.
Si la clef est présente, aucun problème (juste un peux long à fermer)
Si la clef est absente, j'ai bien le message d'erreur, mis lorsque je clique
sur OK le programme continue, me propose de confirmer et ensuite se ferme.
Voici ce que jai fais,

Private Sub FermerProg_Click()
Dim w
On Error GoTo Problèmes
For Each w In Application.Workbooks
Application.DisplayAlerts = False
w.Save '---------Sauvegarde le classeur sur l'ordi --------
w.SaveAs "K:sav-prog" & w.Name '----Sauvegarde le classeur sur
la clef de sauvegarde ----
Application.DisplayAlerts = True
Next w
' Exit Sub
mywav6 ' ceci exécute la macro qui est dans le module 5
Application.ScreenUpdating = True
Application.CommandBars.ActiveMenuBar.Enabled = True
Application.CommandBars("Formatting").Visible = True
Application.CommandBars("Standard").Visible = True
Application.DisplayFormulaBar = True
Application.DisplayScrollBars = True
ActiveSheet.Protect
Application.Quit
Exit Sub
Problèmes:
MsgBox "Vérifier que la clef soit en place"
Resume Next
End Sub
Si quelqu'un veut bien m'aider à corriger !!!
merci par avance.
Peponne31




Avatar
MichDenis
| Voici ce que j'ai écris dis moi si c'est correct.

Si toi, tu es satisfait et que cela répond à tes préoccupations,
cela est correct. Bravo !
Avatar
Peponne31
Re

Merci
Bonne soirée
Peponne31

"MichDenis" a écrit :


| Voici ce que j'ai écris dis moi si c'est correct.

Si toi, tu es satisfait et que cela répond à tes préoccupations,
cela est correct. Bravo !