quitter sans enregistrer

meldja

XLDnaute Impliqué
Bonjour,
Je suis en train de travailler sur un fichier qui doit me sauvegarder des données dans un nouveau fichier, enregistrer ce qui a été copié sur le bureau, sous le nom "EvalXLS.xls"
Le premier fichier, celui où ont été copié les données, doit se fermer sans enregistrer les modifications.
J'ai vu qu'avec la méthode Application.DisplayAlerts = False, on pouvait désactiver les messages d'alerte ou de confirmation.
J'ai vu aussi qu'avec Application.Quit, on pouvait fermer le fichier.
Mais, lorsque je clique sur le bouton qui déclenche la macro, la copie se fait bien, la sauvegarde de la copie se fait bien, sauf qu'il me demande si je veux sauvegarder les changements du fichiers sources. Je ne sais pas si je suis clair ?
Voici le code que j'utilise :
Code:
If réponse = vbOK Then
Application.DisplayAlerts = False
Range("B55:B" & i).Copy
    Workbooks.Add
    ActiveSheet.Paste
    ActiveSheet.Range("A1").Select
Application.Quit
    ChDir "C:\Documents and Settings\" & Environ("UserName") & "\Bureau"
    ActiveWorkbook.SaveAs Filename:= _
        "C:\Documents and Settings\" & Environ("UserName") & "\Bureau\EvalXLS.xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    Application.CutCopyMode = False
Je peux joindre le fichier si cela est nécessaire.
Merci d'avance et bonne journée
 

Fichiers joints

kjin

XLDnaute Barbatruc
Re : quitter sans enregistrer

Bonjour,
Code:
ActiveWorkbook.Close False
Application.Quit
Me suis pas penché sur le reste...trop mal au dos
A+
kjin
 

meldja

XLDnaute Impliqué
Re : quitter sans enregistrer

J'ai parlé trop vite, lorsque je rajoute ActiveWorkbook.Close False
Le fichier se ferme effectivement sans demander de confirmation de sauvegarde.
Sauf que c'est le fichier source qui est copié sur le bureau et non le nouveau fichier où se trouve la copie.
Désolé de vous embêter. Je continue de chercher.
 

wilfried_85

XLDnaute Nouveau
Re : quitter sans enregistrer

re:

Code:
If réponse = vbOK Then
Application.DisplayAlerts = False
Range("B55:B" & i).Copy
    Workbooks.Add
    ActiveSheet.Paste
    ActiveSheet.Range("A1").Select
[B][COLOR="red"]Application.Quit[/COLOR][/B]
   [COLOR="blue"][B] ChDir "C:\Documents and Settings\" & Environ("UserName") & "\Bureau"[/B][/COLOR]
    ActiveWorkbook.SaveAs Filename:= _
       [B][COLOR="seagreen"] "C:\Documents and Settings\" & Environ("UserName") & "\Bureau\EvalXLS.xls"[/COLOR][/B], _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    Application.CutCopyMode = False
en rouge ??? tu quittes l'application avant la sauvegarde ????

en Bleu : Pas utile et peu recommandé de se placer sur un répertoire, surtout que plus loin en Vert tu le redéfinis dans ton nom de fichier

En vert : si tu désires sauvegarder sur le même répertoire que le fichier source : utilise ActiveWorkbook.Path, évite l'extention, Excel connait son extension. de plus, je ne comprends pas le nom du fichier, il est figé, mais je ne connais pas non plus tes besoins...
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas