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

Réponses
3
Affichages
169

Statistiques des forums

Discussions
314 663
Messages
2 111 665
Membres
111 251
dernier inscrit
jpfantin