Créer automatiquement un fichier excel avec date&heure

Créer automatiquement un fichier excel avec date&heure - VB/VBA/VBS - Programmation

Marsh Posté le 12-02-2009 à 17:15:05    

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.

Reply

Marsh Posté le 12-02-2009 à 17:15:05   

Reply

Marsh Posté le 13-02-2009 à 08:18:29    

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
Reply

Marsh Posté le 13-02-2009 à 12:00:07    

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 !
Reply

Marsh Posté le 13-02-2009 à 12:04:20    

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....
 

Reply

Marsh Posté le 13-02-2009 à 12:06:03    

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 !
Reply

Marsh Posté le 13-02-2009 à 12:10:19    

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...

Reply

Marsh Posté le 13-02-2009 à 12:11:35    

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 !
Reply

Marsh Posté le 13-02-2009 à 12:14:54    

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"
 

Reply

Marsh Posté le 13-02-2009 à 12:37:04    

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 !
Reply

Marsh Posté le 13-02-2009 à 13:16:52    

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

Reply

Marsh Posté le 13-02-2009 à 13:16:52   

Reply

Marsh Posté le 26-02-2009 à 11:34:35    

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:  
 

Reply

Marsh Posté le 06-03-2009 à 17:42:40    

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

Reply

Marsh Posté le 06-03-2009 à 22:15:04    

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 !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed