Sauver correctement un fichier excel ?

Signaler
Messages postés
63
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
22 juin 2011
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour a tous,

J'ai fait un prog qui me permet d'ouvrir une feuille excel ou de la créer si elle n'existe pas puis d'écrire dedans et de la re sauvegarder avec le meme nom.
Mon problème est qu'Excel me dit a chaque enregistrement que le fichier existe déja voulez-vous le remplacer puis je doit cliquer sur oui.

Dans mon code, j'ai normalement une ligne qui evite ce genre de message mais il apparait quand meme ???

Voila mon bout de code qui enregistre :

oWk.SaveAs ("C:\bureau\Copie (6) de Copie de test programme avec 1 entrée\MonClasseur.xls")
    oExcel.DisplayAlerts = False
    oWk.Close False
    oExcel.Quit
    Set oWk = Nothing
    Set oExcel = Nothing

Est ce que quelqu'un a une idée pour y remedier ?
Merci
Jack

7 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
Salut
Si tu as correctement détruit le fichier avant de sauvegarder celui-là sous le même nom, tu ne devrais pas avoir ce message.
Voir fonction Dir pour vérifier son existence + Kill pour le détruire.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
14
Salut,

Voir ton post aussi, pour vérife fichier(lien Jimmy)

A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
salut,

beh F1 existe sur de nombreux clavier...
Si tu regarde dans ton aide le mot DisplayAlerts, tu trouves ceci :

Lorsque la méthode SaveAs pour des classeurs est utilisée
pour remplacer un fichier existant, l'alerte de remplacement a la valeur Non par
défaut, tandis que la réponse Oui est sélectionnée par Excel lorsque la
propriété DisplayAlerts a la valeur True.

Bref, seul le bouton Oui / Non change selon ce que tu attribues à DisplayAlerts, mais tu auras obligatoirement ce message..

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
63
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
22 juin 2011
3
Re Jack,

J'ai rajouté la fonctin kill dans mon programme, mais j'ai un message d'erreur qui apparait :

Erreur d'execution 70 : Permission refusée   ??

Etant donné que je ne connais pas la fonction kill peut être l'ai-je mal écrit ou au mauvais endroit, j'ai rajouté kill juste avant de sauvegarder le fichier sur le meme nom :

    Kill App.Path & "\MonClasseur.xls"
    oWk.SaveAs App.Path & "\MonClasseur.xls"
    oExcel.DisplayAlerts = False
    oWk.Close False
    oExcel.Quit
    Set oWk = Nothing
    Set oExcel = Nothing
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
je précise quelque chose, le message de Jack est ok, mais il va de soi que si tu executes ce code depuis CE fameux classeur, étant lui même ouvert, tu ne peux pas le supprimer

Bref, tu peux pas dire au vba du Fichier X d'effacer X

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA
Messages postés
63
Date d'inscription
mardi 13 mai 2008
Statut
Membre
Dernière intervention
22 juin 2011
3
Salut Mortalino,

en fait ce qui se passe dans mon prog est très bizarre :

Lorsque je redemarre mon pc puis je lance le prog il s'execute sans aucun message (le fichier existe déja voulez-vous le remplacer ? n'existe absolument pas) tout fonctionne à merveille mais, lorsque que je stoppe le prog et que je le relance il s'execute de façon identique mais me rajoute à chaque fois le message " le fichier existe déja voulez-vous le remplacer ?"

Je ne comprend pas d'ou il peut arriver subitement ce message ??
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
bah en fait, je viens de tester un SaveAs sur un fichier déjà existant :

Option Explicit

Sub ezlnfl()
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs "C:\Documents and Settings\Mortalino\Bureau\Correction fonction IsBoldItalic.xls"
    Application.DisplayAlerts = True
End Sub

Je n'obtiens jamais de message...

@++

le mystérieux chevalier,"Provençal, le gaulois"
Forum Office & VBA