Gestion des erreurs

P

Pierrot

Guest
Bonsoir au forum

J'ai un super soucis concernant la gestion d'erreurs sous VBA, j'ai beau essayer d'adapter l'exemple que j'ai dans l'aide, cela ne marche pas comme je veux.

Donc avant que je sois complètement chauve, je vous expose mon problème.

J'ai une base de données, gérée par userform, un bouton Sauvegarde Hebdo, me permet d'effectuer cette sauvegarde sur disquette.
Mais comme cette appli est utilisée par plusieurs personnes, ce qui devait arriver, arriva, la disquette n'était pas dans le lecteur, résultat super message d'erreur 1004.
J'ai donc essayé d'adapter, l'exemple sur mon appli mais, GAG, l'appli par en boucle, après avoir affiché mon avertissement, et la sauvegarde sur disquette.

Alors si quelqu'un se sent le courage de m'aider il est le bien venu.

Merci d'avance.
Pierrot.
 
P

Pierrot

Guest
Bonsoir YO

Voilà mon appli, comme demandé:

Private Sub Sauvegarde_Click()
On Error GoTo ErrorHandler
ActiveWorkbook.SaveCopyAs "A:DataBaseBM.xls"
Unload Me
UserForm1.Savedisk = False
UserForm2.Savedisk = False
ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox "Veuillez insérer la disquette dans le lecteur", vbInformation + vbOKOnly, "Erreur Lecteur"
End Select
Resume
End Sub

merci de ton coup de pouce
 
Y

Yo

Guest
Essaye ça :

Private Sub Sauvegarde_Click()

On Error Resume next

ActiveWorkbook.SaveCopyAs "A:DataBaseBM.xls"

if err<>0 then
goto ErrorHandler
else

Unload Me
UserForm1.Savedisk = False
UserForm2.Savedisk = False

end if
Exit Sub

ErrorHandler:
Select Case Err.Number
Case 1004
MsgBox "Veuillez insérer la disquette dans le lecteur", vbInformation + vbOKOnly, "Erreur Lecteur"
Exit Sub

End Sub
 
Z

ZON

Guest
Bonsoir Yo, Pierrot et le forum,


On peut rajouter displayalert pour éviter d'avoir le message qui ne trouve pas le chemin valide

Private Sub Sauvegarde_Click()
Application.displayalerts=false

On Error goto ErrorHandler

ActiveWorkbook.SaveCopyAs "A:DataBaseBM.xls"


Unload Me
UserForm1.Savedisk = False
UserForm2.Savedisk = False

goto Fin

ErrorHandler:
If Err.Number= 1004 then MsgBox "Veuillez insérer la disquette dans le lecteur", vbInformation + vbOKOnly, "Erreur Lecteur"
Fin:
Application.displayalerts=true
End Sub


A+++
 

Statistiques des forums

Discussions
314 659
Messages
2 111 624
Membres
111 237
dernier inscrit
vinthi