Fermeture fichier

Bonjour à tous,

Petit problème je n'arrive plus a fermer automatiquement mon fichier excel.

    Windows( _
        "Export analyse délais V3.xlsm.xlsm" _
        ).Activate
    Application.CutCopyMode = False

Il me semble que ce code fonctionne non?

Mon fichier qui est ouvert : Export analyse délais V3.xlsm.xlsm

Comment le fermer sans enregistrer?

MErci d'avance!!

capturefofo5

Bonjour,

ActiveWorkbook.Close False

Cordialement.

Bonjour MFerrand,

Merci de ta réponse,

Il m'affiche toujours mon message que j'ai joins en pièce jointe avant :/

Pas possible si c'est bien le classeur actif que tu fermes sans enregistrer !

Bonjour,

Je t'assure que sa ne fonctionne pas !

Bonjour Lasgalen,

je mets ici exactement le code de ton message d'hier à 15:35 :

    Windows( _
        "Export analyse délais V3.xlsm.xlsm" _
        ).Activate
    Application.CutCopyMode = False

pourquoi la double extension .xlsm.xlsm ? tu as peut-être fait la même erreur pour le fichier à fermer ?

vérifie le nom du classeur que tu veux fermer : peut-être que tu utilises une référence avec un double .xlsm alors que le fichier a une simple extension ? ou au contraire l'inverse : peut-être que tu utilises une référence avec un seul .xlsm alors que le fichier a une double extension ?

dhany

Bonjour,

Dhany, si c'était une erreur de nom il aurait un autre message.

Si tu y as une macro Workbook_BeforeClose() comme je suppose, met avant le .close :

activeworkbook.saved=true

eric

Bonjour

Effectivement javais pas vus cette erreur merci.

Cependant j'utilisais cette macro ce matin, qui ne fonctionnait pas, j'avais encore le message que j'avais joins en pièce jointe.

Sub aaaaaaa()
    Windows("Export analyse délais V3.xlsm").Activate
    ActiveWorkbook.Close
End Sub

Grrr que faire?

Bonjour Eriiic,

Avec ta macro il va enregistrer le fichier non?

Ben non, avec ça tu lui fais croire qu'il a déjà été enregistré.

Par contre il faut peut-être le mettre dans le fichier concerné, en testant une valeur pour le faire ou non

J'essaye de comprendre avant en faite Eriirc ^^

Merci en tout cas sa fonctionne parfaitement!

Bonjour,

La méthode Workbook.Close ferme le fichier ! Assortie d'un paramètre SaveChanges, le fichier est enregistré si le paramètre est à True, non enregistré s'il est à False, cela évidemment sans message d'avertissement ! Je n'ai jamais vu cette commande dysfonctionner lorsqu'elle est correctement utilisée.

Définir la propriété Saved de l'objet Workbook à True (classeur non modifié) ou False (classeur modifié), aboutit aux mêmes résultats : le classeur ne fait pas l'objet d'une demande d'enregistrement lorsqu'il n'est pas modifié.

L'avantage de la première méthode est de combiner l'option dans une seule ligne de commande de fermeture.

Par ailleurs je conseille généralement de bannir l'utilisation d'objet Windows dès lors que l'on n'opère pas sur l'affichage écran en utilisant plusieurs fenêtres ou en fractionnant, etc., cas si l'objet Window a pleinement son rôle en matière d'affichage, cela peut être source de confusions diverses lors de l'intervention sur les divers composants d'Excel. Mieux vaut toujours utiliser les objets de base sur lesquels on veut avoir un effet : Workbook, Worksheet...

(A noter que les commandes utilisant Windows proviennent très souvent de code enregistré...)

Si donc la commande ne fonctionne pas, c'est que quelque chose l'empêche de s'exécuter ! Ce que l'on ne peut voir dans les citations tronquées de ton code dont on ne sait dans quel type de procédure il est placé.

Cordialement.

Bonjour,

tu as raison sur le fond MFerrand.

Seulement s'il y a des cas ou le .Close ne fonctionne pas, ou plutôt où un autre besoin d'enregistrement est déclenché.

Avec par exemple Workbook_BeforeClose() qui modifie le fichier.

.Saved =True permet de strapper ce 2nd enregistrement.

eric

Bonjour,

C'est re moi

Petit problème en utilisant la macro :

Comment faire?

Sub aaaaaaa()
    Windows("Export analyse délais V3.xlsm").Activate
    ActiveWorkbook.Saved = True
    ActiveWorkbook.Close
End Sub
pressepapier

Bonjour,

Sub aaaaaaa()
    With Workbooks("Export analyse délais V3.xlsm")
        .Saved = True
        Application.CutCopyMode = False
        .Close
    End With
End Sub

Bonjour MFerrand,

Merci pour ta réponse rapide et efficace ! sa fonctionne

Bonjour Lasgalen,

sauf si tu as autre chose à demander :

dhany

Bonjour

C’est un oubli Chef!

Rechercher des sujets similaires à "fermeture fichier"