Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1468 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Créer automatiquement un fichier excel avec date&heure

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer automatiquement un fichier excel avec date&heure

n°1850510
jaimes1
Posté le 12-02-2009 à 17:15:05  profilanswer
 

Bonjour à tous!
 
J'aurais besoin d'aide pour créer un fichier excel qui se nomme "date&heure".xls.  
 
Voilà, je n'y connais rien en programmation vb, j'ai parcouru le forum sans trouver exactement ce dont j'ai besoin.
 
Je voudrais créer un raccourci qui lancerait Excel, créerait un fichier qui s'appelle "date&heure".xls et qui s'enregistre automatiquement à la fermeture du fichier.
 
Est-ce possible? Et si oui, comment faire?
 
Merci d'avance.

mood
Publicité
Posté le 12-02-2009 à 17:15:05  profilanswer
 

n°1850663
fluminis
Posté le 13-02-2009 à 08:18:29  profilanswer
 

http://office.microsoft.com/fr-fr/ [...] 01036.aspx
tu peux lancer excel et ouvrir le fichier que tu veux, mais je ne sais pas s'il est possible de forcer la sauvegarde ni meme forcer la sauvegarde dans ce nom de fichier la (ex: interdire l'enregistrer sous)


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1850760
SuppotDeSa​Tante
Aka dje69r
Posté le 13-02-2009 à 12:00:07  profilanswer
 

Bonjour
 
Oui c'est possible. Déjà, ca serait bien de préciser sous quelle version d'Excel...
 
Que se passe t-il si tu click deux fois de suite et que le fichier existe deja ?
 
Ensuite, tu sais que les caracteres / et : ne peuvent pas etre dans le nom d'un fichier sous Windows. Par quel caracere veux tu remplacer ? Genre : 13-02-09_11-56    ?
 
 
Tu te créés un fichier, genre Toto.xls, tu te créés un raccourci dessus.
Dans toto.xls :

Citation :

Private Sub Workbook_Open()
    Dim fso, Chemin, NomFichier, FichierExiste
    Set fso = CreateObject("Scripting.FileSystemObject" )
     
    Chemin = "C:\" 'A toi de définir le chemin où l'enregistrer
    NomFichier = Format(Date, "dd-mm-yy" )
    NomFichier = NomFichier & "_" & Format(Now, "hh-mm" )
    FichierExiste = IIf(fso.FileExists(NomFichier & ".xls" ), True, False)
     
    If FichierExiste = True Then
        Application.Quit
    End If
         
    Workbooks.Add
    ChDir Chemin
    ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, FileFormat:=xlNormal
    Range("A1" ).Select
End Sub


 
Cordialement


Message édité par SuppotDeSaTante le 13-02-2009 à 12:05:13

---------------
Soyez malin, louez entre voisins !
n°1850763
jaimes1
Posté le 13-02-2009 à 12:04:20  profilanswer
 

Bonjour,
 
Merci pour vos réponses.
 
En fait, je voudrais créer un formulaire existant et que lorsque je lance un raccourci, il créer une copie du formulaire sous la forme "date&heure.xls" (la forme 13-02-09_11-56 est parfaite!) et qu'il l'enregistre automatiquement lors de la fermeture....
 

n°1850764
SuppotDeSa​Tante
Aka dje69r
Posté le 13-02-2009 à 12:06:03  profilanswer
 

Tu entends quoi par formulaire...? Un fichier Excel ?
Et par raccourci ? Parceque lancer un raccourci je saisi pas trop....  [:spamafote]  
 
Explique plus calmement et posément ce que tu souhaites.
 
Regarde mon precedent post, j'ai édité.
 
 
Enregistrer a la fermeture avec Excel sur des fichiers générés c'est assez chiant.
La avec le code, il ouvre ton fichier toto.
Ce fichier toto va crééer un nouveau fichier Excel et l'enregistrer a la date et heure.
Si le fichier existe deja il quitte Excel. En gros tu attends une minute pour le relancer.
 
Ou alors on peut avoir un fichier Raccourci.xls. Qd ce fichier s'ouvre il se dupplique lui meme en un fichier genre Temp.xls
Et a la fermeture, il se renomme en date&heure.xls
Le souci c'est que je vois pas ce que tu veux rééllement


Message édité par SuppotDeSaTante le 13-02-2009 à 12:11:07

---------------
Soyez malin, louez entre voisins !
n°1850765
jaimes1
Posté le 13-02-2009 à 12:10:19  profilanswer
 

Merci pour la réponse dje69r, je vais essayer ça et je te tiens au courant !
 
Par formulaire, en fait, j'entends un fichier Excel avec des zones à remplir prédéfinies (en utilisant la fonction "formulaire" ), ensuite, l'envoyer par mail et le sauvegarder automatiquement quand on ferme Excel...

n°1850766
SuppotDeSa​Tante
Aka dje69r
Posté le 13-02-2009 à 12:11:35  profilanswer
 

Ou alors on peut avoir un fichier Raccourci.xls. Qd ce fichier s'ouvre il se dupplique lui meme en un fichier genre Temp.xls
Et a la fermeture, il se renomme en date&heure.xls
Le souci c'est que je vois pas ce que tu veux rééllement


---------------
Soyez malin, louez entre voisins !
n°1850768
jaimes1
Posté le 13-02-2009 à 12:14:54  profilanswer
 

Oui, ça pourrait être ça.
 
J'explique ce que je veux faire:
Créer un formulaire vierge (avec les cases à remplir prédéfinies)
L'utilisateur remplit les cases et envoie le fichier par mail
A la fermeture d'Excel, je veux qu'il y ait une sauvegarde de ce formulaire rempli sous la forme "date&heure.xls"
 

n°1850785
SuppotDeSa​Tante
Aka dje69r
Posté le 13-02-2009 à 12:37:04  profilanswer
 

Oki
 
Dans ton fichier qui a le formulaire vierge :

Citation :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim fso, Chemin, NomFichier, FichierExiste
    Set fso = CreateObject("Scripting.FileSystemObject" )
     
    Chemin = "C:\" 'A toi de définir le chemin où l'enregistrer
    NomFichier = Format(Date, "dd-mm-yy" )
    NomFichier = NomFichier & "_" & Format(Now, "hh-mm" )
     
    FichierExiste = IIf(fso.FileExists(NomFichier & ".xls" ), True, False)
     
    If FichierExiste = True Then
        Kill (Chemin & NomFichier & ".xls" )
    End If
     
    ChDir Chemin
    ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, _
        FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
 
End Sub
 
Private Sub Workbook_Open()
    Dim fso, Chemin, NomFichier, FichierExiste
    Set fso = CreateObject("Scripting.FileSystemObject" )
     
    Chemin = "C:\"
    NomFichier = "TempDateHeure.xls"
     
    FichierExiste = IIf(fso.FileExists(Chemin & NomFichier), True, False)
    If FichierExiste = True Then
        Kill (Chemin & NomFichier)
    End If
     
    ChDir Chemin
    ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, _
        FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
 
End Sub


 
Ensuite tu n'as plus qu'a creer un raccourci vers ton fichier qui a le formulaire vierge.
 
En gros :
Le fichier s'ouvre.
Il s"enregistre sous C:\TempDateHeure.xls
A le fermeture, il s'enregistre sous C:\date&heure.xls
 
Attention tout de meme, si TempDateHeure existe déja il est supprimé. Et si le fichier date&heure existe déjà il est supprimé puis remplacé par celui sur lequel on est.
 
 
Cordialement


Message édité par SuppotDeSaTante le 13-02-2009 à 12:39:28

---------------
Soyez malin, louez entre voisins !
n°1850794
jaimes1
Posté le 13-02-2009 à 13:16:52  profilanswer
 

Merci beaucoup ! :jap:  
 
Je teste ça et je te tiens au courant !

mood
Publicité
Posté le 13-02-2009 à 13:16:52  profilanswer
 

n°1855452
jaimes1
Posté le 26-02-2009 à 11:34:35  profilanswer
 

J'ai un petit souci avec le code, lorsque je lance la macro, il me donne une erreur 1004 "La méthode 'SaveAs' de l'objet '_Workbook' a échoué".
 
En mode débogage, il m'indique que le problème vient de cette ligne :
 
 
 

Citation :

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim fso, Chemin, NomFichier, FichierExiste
    Set fso = CreateObject("Scripting.FileSystemObject" )
     
    Chemin = "C:\" 'A toi de définir le chemin où l'enregistrer
    NomFichier = Format(Date, "dd-mm-yy" )
    NomFichier = NomFichier & "_" & Format(Now, "hh-mm" )
     
    FichierExiste = IIf(fso.FileExists(NomFichier & ".xls" ), True, False)
     
    If FichierExiste = True Then
        Kill (Chemin & NomFichier & ".xls" )
    End If
     
    ChDir Chemin
    ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, _
        FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False

End Sub
 
Private Sub Workbook_Open()
    Dim fso, Chemin, NomFichier, FichierExiste
    Set fso = CreateObject("Scripting.FileSystemObject" )
     
    Chemin = "C:\"
    NomFichier = "TempDateHeure.xls"
     
    FichierExiste = IIf(fso.FileExists(Chemin & NomFichier), True, False)
    If FichierExiste = True Then
        Kill (Chemin & NomFichier)
    End If
     
    ChDir Chemin
    ActiveWorkbook.SaveAs Filename:=Chemin & NomFichier, _
        FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
 
End Sub


 
QQn peut-il m'aider ?
 
Merci ! :jap:  
 

n°1858594
jaimes1
Posté le 06-03-2009 à 17:42:40  profilanswer
 

Personne ne peut m'aider?...  :??:

n°1858660
SuppotDeSa​Tante
Aka dje69r
Posté le 06-03-2009 à 22:15:04  profilanswer
 

Hello
 
Avant cette ligne essaie de mettre un  
debug.print Chemin & NomFichier
ou encore
msgbox Chemin & NomFichier
 
Pour savoir ce que te retourne Chemin & NomFichier


---------------
Soyez malin, louez entre voisins !

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Créer automatiquement un fichier excel avec date&heure

 

Sujets relatifs
[Bash/KSH] Ajouter une colonne dans un fichier...Erreur d'importation de fichier excel dans une nouvelle base access.
Créer un espace membre dans un site de chat IRC?creer un classement php
Excel - Remplissage automatique d'un planing selon critèressupprimer une partie de chaine dans un fichier texte windows ?
Importer des données de plusieurs fichiers EXCEL vers ACCESSselect redirigé vers un fichier
Bloquer la suppression d'un fichier sous WinXP 
Plus de sujets relatifs à : Créer automatiquement un fichier excel avec date&heure


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR