Problème de sauvegarde en VBA
Fermé
LouisBlanc
Messages postés
12
Date d'inscription
samedi 7 octobre 2006
Statut
Membre
Dernière intervention
27 novembre 2012
-
17 nov. 2012 à 12:03
LouisBlanc Messages postés 12 Date d'inscription samedi 7 octobre 2006 Statut Membre Dernière intervention 27 novembre 2012 - 27 nov. 2012 à 21:27
LouisBlanc Messages postés 12 Date d'inscription samedi 7 octobre 2006 Statut Membre Dernière intervention 27 novembre 2012 - 27 nov. 2012 à 21:27
A voir également:
- Problème de sauvegarde en VBA
- Logiciel de sauvegarde gratuit - Guide
- Sauvegarde android - Guide
- Sauvegarde time machine - Guide
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Problème de sauvegarde gta 5 mode histoire - Forum Xbox 360
5 réponses
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
18 nov. 2012 à 15:32
18 nov. 2012 à 15:32
Bonjour,
Essaies ce code :
Essaies ce code :
Option Explicit Sub Sauve() Dim NomSauve As Variant Dim NomDeSauvegarde As String NomDeSauvegarde = "Nom du fichier" Sauve_Loop: NomSauve = Application.GetSaveAsFilename(InitialFileName:=NomDeSauvegarde, _ FileFilter:="fichier excel, *.xls", Title:="Entrer un nom") If NomSauve = False Then Exit Sub On Error GoTo Sauve_Error ActiveWorkbook.SaveAs NomSauve On Error GoTo 0 Exit Sub Sauve_Error: Select Case Err.Number Case 1004 Resume Sauve_Loop Case Else MsgBox "Erreur " & Err.Number & vbCr & Err.Description End Select End Sub
LouisBlanc
Messages postés
12
Date d'inscription
samedi 7 octobre 2006
Statut
Membre
Dernière intervention
27 novembre 2012
Modifié par LouisBlanc le 18/11/2012 à 18:12
Modifié par LouisBlanc le 18/11/2012 à 18:12
Merci.
J'ai bosser sur une macro tout le weekend et une grande partie de la nuit.
Je suis obligé de décrocher maintenant.
Normalement je reprends ça la semaine prochaine.
Je testerai et reviendrai vers vous
Cordialement
J'ai bosser sur une macro tout le weekend et une grande partie de la nuit.
Je suis obligé de décrocher maintenant.
Normalement je reprends ça la semaine prochaine.
Je testerai et reviendrai vers vous
Cordialement
LouisBlanc
Messages postés
12
Date d'inscription
samedi 7 octobre 2006
Statut
Membre
Dernière intervention
27 novembre 2012
25 nov. 2012 à 11:22
25 nov. 2012 à 11:22
Bonjour à tous
Merci Pratrice33740, j'ai essayé et adapté ton code, et ça marche bien.
Me reste 2 petits soucis :
- dans la boite d'alerte à la sauvegarde, les boutons "non" et "annuler" ont le même effet, et je n'ai pas réussi à changer. Est il possible que l'action "annuler" de cette boite d'alerte m'envoie en fin de programme (End Sub)
- en plus, comme je suis débutant, je ne comprend pas tout ton code (voir ci dessous) . Si tu pouvais m'éclairer ?
Et merci encore.
**************
On Error GoTo Sauve_Error
ActiveWorkbook.SaveAs NomSauve
On Error GoTo 0 '''la, c'est quoi ce goto 0
Exit Sub
Sauve_Error:
Select Case Err.Number
Case 1004
Resume Sauve_Loop ''' ici pourquoi resume et pas goto
Case Else
MsgBox "Erreur " & Err.Number & vbCr & Err.Description
End Select
Merci Pratrice33740, j'ai essayé et adapté ton code, et ça marche bien.
Me reste 2 petits soucis :
- dans la boite d'alerte à la sauvegarde, les boutons "non" et "annuler" ont le même effet, et je n'ai pas réussi à changer. Est il possible que l'action "annuler" de cette boite d'alerte m'envoie en fin de programme (End Sub)
- en plus, comme je suis débutant, je ne comprend pas tout ton code (voir ci dessous) . Si tu pouvais m'éclairer ?
Et merci encore.
**************
On Error GoTo Sauve_Error
ActiveWorkbook.SaveAs NomSauve
On Error GoTo 0 '''la, c'est quoi ce goto 0
Exit Sub
Sauve_Error:
Select Case Err.Number
Case 1004
Resume Sauve_Loop ''' ici pourquoi resume et pas goto
Case Else
MsgBox "Erreur " & Err.Number & vbCr & Err.Description
End Select
Patrice33740
Messages postés
8556
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
2 mars 2023
1 779
27 nov. 2012 à 17:46
27 nov. 2012 à 17:46
Bonjour,
« dans la boite d'alerte à la sauvegarde, les boutons "non" et "annuler" ont le même effet, et je n'ai pas réussi à changer. »
Effectivement, les boutons "Non" et "Annuler" renvoient la même réponse False, il n'est pas simple de les différencier.
« Est il possible que l'action "annuler" de cette boite d'alerte m'envoie en fin de programme (End Sub) »
C'est le cas : Exit Sub permet de terminer la procédure.
On Error GoTo Sauve_Error : permet de remplacer la gestion d'erreur du système par une gestion personnalisée (située en Sauve_Error)
On Error GoTo 0 : permet de rendre la gestion d'erreur au système.
Resume : permet de sortir de la gestion d'erreur personnalisée pour reprendre l'exécution normale de la procédure. Resume Sauve_Loop : reprend l'exécution à l'endroit indiqué (à Sauve_Loop). GoTo Sauve_Loop n'aurait pas permis de sortir de la gestion d'erreur
« dans la boite d'alerte à la sauvegarde, les boutons "non" et "annuler" ont le même effet, et je n'ai pas réussi à changer. »
Effectivement, les boutons "Non" et "Annuler" renvoient la même réponse False, il n'est pas simple de les différencier.
« Est il possible que l'action "annuler" de cette boite d'alerte m'envoie en fin de programme (End Sub) »
C'est le cas : Exit Sub permet de terminer la procédure.
On Error GoTo Sauve_Error : permet de remplacer la gestion d'erreur du système par une gestion personnalisée (située en Sauve_Error)
On Error GoTo 0 : permet de rendre la gestion d'erreur au système.
Resume : permet de sortir de la gestion d'erreur personnalisée pour reprendre l'exécution normale de la procédure. Resume Sauve_Loop : reprend l'exécution à l'endroit indiqué (à Sauve_Loop). GoTo Sauve_Loop n'aurait pas permis de sortir de la gestion d'erreur
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
LouisBlanc
Messages postés
12
Date d'inscription
samedi 7 octobre 2006
Statut
Membre
Dernière intervention
27 novembre 2012
27 nov. 2012 à 21:27
27 nov. 2012 à 21:27
Bonjour
J'étudie et approfondis ça plus tard.
Dans tous les cas, merci pour les réponses... j'aurais aimé que le bouton non me repropose la boite enregistrersous pour changer le nom du fichier, et que le bouton annuler arrête le programme, mais bon, c'est trop fort pour moi !!!
Salutations à tous
J'étudie et approfondis ça plus tard.
Dans tous les cas, merci pour les réponses... j'aurais aimé que le bouton non me repropose la boite enregistrersous pour changer le nom du fichier, et que le bouton annuler arrête le programme, mais bon, c'est trop fort pour moi !!!
Salutations à tous