Enregistrer sous sans écraser le fichier

bonoboas

XLDnaute Occasionnel
Bonjour,

Je veux créer une macro pour faire un export de fichier. Cela consiste :
1 - a enregistrer le fichier source puis
2- faire un enregistrer sous avec un nom tapé par l'utilisateur ou proposé avec par défaut "Fichier travaux".
3- Ensuite ça lance la macro.
2 bis - si l'utilisateur fait "annulé "dans la fenêtre enregistré sous ça arrête la macro.

voici mon début de code :
Code:
'Enregistrer le classeur
ActiveWorkbook.Save
'Ouvre la boite de dialogue enregistrer sous
Application.Dialogs(xlDialogSaveAs).Show
'Propose un nom par défaut "fichier travaux" sous la même direction que le fichier de départ
*********je ne connais pas le code
'Si clique sur annulé arrêter la macro
****** je ne connais pas le code

'Ensuite lancement de la macro

Avez vous une idée sur le code à mettre à la place des étoiles ***.

Cordialement

Anthony
 
Dernière édition:

stefan373

XLDnaute Occasionnel
Re : Enregistrer sous sans écraser le fichier

Bonjour bonoboas et le forum,

Voici un bout de code qui j'espère vous aidera. :)

Code:
Sub test()
Dim chemin As String, fichier As String
chemin = ThisWorkbook.Path
'Définit un nom par défaut "fichier travaux"
fichier = chemin & "\" & "fichier travaux" & ".xls"
'Enregistrer le classeur
ActiveWorkbook.Save
'Message avant l'enregistrement
Select Case MsgBox("ATTENTION !" & vbLf & "Voulez-vous continuer ?", vbYesNo, "Attention !")
    Case vbYes
        ActiveWorkbook.SaveCopyAs fichier
'Ensuite lancement de la macro



'Si clique sur annulé arrêter la macro
    Case vbNo
        Exit Sub
End Select

End Sub

A+ Stéfan
 

titiborregan5

XLDnaute Accro
Re : Enregistrer sous sans écraser le fichier

re, et la proposition de stefan ne marche pas?

Quand tu fais le pas à pas ton if est bien respecté?
Il est possible que ton exit sub soit mal positionné ce qui fait que dans tous les cas la macro passe par le exit sub et donc ne fasse rien...
 

bonoboas

XLDnaute Occasionnel
Re : Enregistrer sous sans écraser le fichier

J'ai fait comme ça :
Code:
'Si clique sur annulé
If Application.Dialogs.Item(xlDialogSaveAs).Show = False Then

    Exit Sub
Else
'macro
************
End if 

End sub

Il ne met pas le nom "fichier travaux", j'attends vos retours, pour une solution
Merci encore
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote