Copie de fichiers excel???? [Résolu]

cs_othland 301 Messages postés jeudi 18 décembre 2003Date d'inscription 9 février 2010 Dernière intervention - 17 oct. 2006 à 16:47 - Dernière réponse : cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention
- 18 oct. 2006 à 19:13
slt tlm;
j'ai utilisé la fonction :
CopyFile('C:\dell\exc001.xls','C:\dell\exc002.xls', FALSE);
mais apparemment ça ne marche pas!
y a t il une autre solution??
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 18 oct. 2006 à 12:57
3
Merci
Ou alors, si j'ai tout bien compris :

si exc001.xls existe alors
    supprime exc001.xls
enregistre sous exc001.xls // (<- dans tous les cas...)

Non ?

Merci japee 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de japee
cs_othland 301 Messages postés jeudi 18 décembre 2003Date d'inscription 9 février 2010 Dernière intervention - 17 oct. 2006 à 18:57
0
Merci
slt tlm;
je vais vous expliquer le tout avec des détails,
je veux enregistrer des données de ma base dans un fichier excel, et à chaque fois que je fais cet enregistrement, je veux que le dernier fichier excel s'écrase avec les nouvelles valeurs sans que WINDOWS ne m'affiche une alèrte ou quoique ce soit!
voici mon code :
///////////////////

var
  Form1: TForm1;
  OleApplication :variant;
  OleWorkBook :variant;
  bb,ff:boollean;
...........
 OleApplication := CreateOleObject('Excel.Application');
OleWorkBook:=OleApplication.Workbooks.Add;
...............
OleWorkBook.SaveAs['C:\dell\exc002.xls'];
 if FileExists('C:\dell\exc001.xls') then {verfification si ça été déjà fait pour une première fois!}
      begin
       bb:=CopyFile('C:\dell\exc001.xls','C:\dell\exc002.xls', FALSE);
      end
     else OleWorkBook.SaveAs['C:\dell\exc001.xls'];
   OleApplication.Quit;
   OleApplication := unassigned;
   ff:=DeleteFile('C:\dell\exc002.xls');{au fait ce fichier exc002.xls n'est utilisé que pour l'écrasement c'est tout}
///////////////////////
le pb c'est que le supression du exc002.xls ne marche pas lorsque le fichier  exc001.xls existe et aussi même  la copir ne merche pas, au fait je veux que  àa soit un  écrasement quoi...sans alerte!

merci beaucoup pour votre aide!
Commenter la réponse de cs_othland
Utilisateur anonyme - 17 oct. 2006 à 21:33
0
Merci
Heu en analysant ta question (faire une copie de sauvegarde) et en regardant ton code je me dis qu'un truc ne va pas dans ton raisonnement.

Si tu veux écraser ton fichier par un autre :
If FileExists('myfile.xls') then
Begin
CopyFile(PChar('MyFile.xls'),PChar('Mycopy.xls'), FALSE);//Ne pas oublier PChar. On fait une copie de sauvegarde mais pas obligatoire : à toi de voir
DeleteFile('MyFile.xls');//On supprime MyFile.xls
End;
OleWorkBook.SaveAs['MyFile.xls'];//Création de mon fichier

D'une façon générale pour effacer un fichier il faut que ce dernier ne soit pas utiliser : à toi de le libérer (et c'est là que se trouve surement le beug)
Commenter la réponse de Utilisateur anonyme
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 17 oct. 2006 à 22:51
0
Merci
J'ai la nette impression qu'il y a un problème de logique de traitement...
A moins d'avoir la berlue, je dirais que dans tous les cas, exc001.xls est identique à exc002.xls. D'où l'impression que la copie ne fonctionne pas.

Me tromperai-je ?

Ne serait-il pas plus logique de procéder ainsi :
si exc001 existe alors
  enregistrer sous exc002
  supprimer exc001
sinon
  enregistrer sous exc001

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog
cs_Delphiprog 4580 Messages postés samedi 19 janvier 2002Date d'inscription 9 janvier 2013 Dernière intervention - 18 oct. 2006 à 19:13
0
Merci
Japee : tu oublies de tenir compte du fait que le classeur exc001.xls est ouvert dans Excel à ce moment là et ça m'étonnerait fort qu'Excel te laisse le supprimer.

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
Commenter la réponse de cs_Delphiprog

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.