je voudrais sauvegarder une feuille de mon classeur a la fin de ma procédure vba. quelqu'un aurait'il une solution.
merci
docmarti
Cette réponse a été donnée par iznogood en juillet 2000:
Le principe : On copie la feuille appelée "Devis" dans un autre classeur On demande le nom sous lequel le sauvegarder On le sauvegarde et on le fermer
Le tout en laissant l'utilisateur changer d'avis à tout momment (Bouton Annuler).
Attention : si on demande à sauvegarder le devis sous un nom existant, Excel demande confirmation. Si on répond NON => le fichier n'est pas sauvegarder. Une amélioration consisterait en ce qu'Excel demande à nouveau un nom. C'est relativement simple et je te laisse essayer tout seul (c'est le meilleur moyen d'apprendre)...
Sub Macro1() Dim svgName As String Dim numErreur As Long Dim scrUpdate As Boolean Dim dspAlert As Boolean scrUpdate = Application.ScreenUpdating Application.ScreenUpdating = False 'Copier la feuille dans un nouveau classeur Sheets("Devis").Copy 'Demander le nom de sauvegarde svgName = Application.GetSaveAsFilename 'Si nom entré (et non bouton annuler) If svgName <> "Faux" Then On Error Resume Next ActiveWorkbook.SaveAs svgName numErreur = Err.Number On Error GoTo 0 'Si le fichier existe déjà et qu'on ne veut pas l'écraser If numErreur <> 1004 And numErreur <> 0 Then _ Err.Raise numErreur End If 'Au cas où on ne veut pas sauvegarder le devis dspAlert = Application.DisplayAlerts Application.DisplayAlerts = False ActiveWindow.Close Application.DisplayAlerts = dspAlert 'Remettre l'affichage à l'état initial Application.ScreenUpdating = scrUpdate End Sub
"premiere experience vba" wrote in message news:
bonjour a tous
je voudrais sauvegarder une feuille de mon classeur a la fin de ma procédure
vba. quelqu'un aurait'il une solution.
merci
Cette réponse a été donnée par iznogood en juillet 2000:
Le principe :
On copie la feuille appelée "Devis" dans un autre classeur
On demande le nom sous lequel le sauvegarder
On le sauvegarde et on le fermer
Le tout en laissant l'utilisateur changer d'avis à tout momment (Bouton
Annuler).
Attention : si on demande à sauvegarder le devis sous un nom existant, Excel
demande confirmation.
Si on répond NON => le fichier n'est pas sauvegarder.
Une amélioration consisterait en ce qu'Excel demande à nouveau un nom.
C'est relativement simple et je te laisse essayer tout seul (c'est le
meilleur moyen d'apprendre)...
Sub Macro1()
Dim svgName As String
Dim numErreur As Long
Dim scrUpdate As Boolean
Dim dspAlert As Boolean
scrUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
'Copier la feuille dans un nouveau classeur
Sheets("Devis").Copy
'Demander le nom de sauvegarde
svgName = Application.GetSaveAsFilename
'Si nom entré (et non bouton annuler)
If svgName <> "Faux" Then
On Error Resume Next
ActiveWorkbook.SaveAs svgName
numErreur = Err.Number
On Error GoTo 0
'Si le fichier existe déjà et qu'on ne veut pas l'écraser
If numErreur <> 1004 And numErreur <> 0 Then _
Err.Raise numErreur
End If
'Au cas où on ne veut pas sauvegarder le devis
dspAlert = Application.DisplayAlerts
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = dspAlert
'Remettre l'affichage à l'état initial
Application.ScreenUpdating = scrUpdate
End Sub
"premiere experience vba" <antivirus@aol.com> wrote in message
news:e75Mupt1DHA.556@TK2MSFTNGP11.phx.gbl...
bonjour a tous
je voudrais sauvegarder une feuille de mon classeur a la fin de ma
procédure
Cette réponse a été donnée par iznogood en juillet 2000:
Le principe : On copie la feuille appelée "Devis" dans un autre classeur On demande le nom sous lequel le sauvegarder On le sauvegarde et on le fermer
Le tout en laissant l'utilisateur changer d'avis à tout momment (Bouton Annuler).
Attention : si on demande à sauvegarder le devis sous un nom existant, Excel demande confirmation. Si on répond NON => le fichier n'est pas sauvegarder. Une amélioration consisterait en ce qu'Excel demande à nouveau un nom. C'est relativement simple et je te laisse essayer tout seul (c'est le meilleur moyen d'apprendre)...
Sub Macro1() Dim svgName As String Dim numErreur As Long Dim scrUpdate As Boolean Dim dspAlert As Boolean scrUpdate = Application.ScreenUpdating Application.ScreenUpdating = False 'Copier la feuille dans un nouveau classeur Sheets("Devis").Copy 'Demander le nom de sauvegarde svgName = Application.GetSaveAsFilename 'Si nom entré (et non bouton annuler) If svgName <> "Faux" Then On Error Resume Next ActiveWorkbook.SaveAs svgName numErreur = Err.Number On Error GoTo 0 'Si le fichier existe déjà et qu'on ne veut pas l'écraser If numErreur <> 1004 And numErreur <> 0 Then _ Err.Raise numErreur End If 'Au cas où on ne veut pas sauvegarder le devis dspAlert = Application.DisplayAlerts Application.DisplayAlerts = False ActiveWindow.Close Application.DisplayAlerts = dspAlert 'Remettre l'affichage à l'état initial Application.ScreenUpdating = scrUpdate End Sub
"premiere experience vba" wrote in message news:
bonjour a tous
je voudrais sauvegarder une feuille de mon classeur a la fin de ma procédure