Macro d'enregistrement excel

Résolu
Signaler
Messages postés
7
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
10 février 2009
-
Messages postés
7
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
10 février 2009
-
Bonjour à tous,
Je suis nouveau sur le forum. Je suis étudiant en ingénierie, et nous avons un projet à réaliser en informatique.

Dans l'ensemble, j'ai réussi à me débrouiller, mais je rencontre un problème pour créer un macro sur une feuille excel. En fait, j'ai mis un commandbutton sur la feuille excel, et je voudrais que, lorsque l'on clique dessus, le fichier soit enregistré dans un dossier spécifiqué précisé dans le code, avec un nom donné, puis avec la date et l'heure dérrière.

J'ai réussi à le faire sous Word avec ce code :

Private Sub CommandButton1_Click()
ChangeFileOpenDirectory "C:\Documents and Settings\Michael Edwards\Mes documents\Informatique\Projet gestion de docs\Sauvegardes Fax"
ActiveDocument.SaveAs FileName:="FAX du " & Format(Date, "yy") & "/" & Format(Date, "mm") & "/" & Format(Date, "dd") & " enregistré à " & Format(Time, "hhmm") & ".doc" '
End Sub

Je cherche sur google depuis plusieurs jours sans succès, désolé d'avance si j'ai mal cherché, mais si quelqu'un pourrait m'aider à réaliser cette fonction ça serait super sympa.

Michael Edwards
Icam Bretagne
France

4 réponses

Messages postés
156
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
2 mars 2009

Salut,

J'ai une macro quasiment identique dont voici la partie qui t'intéresse.(programmer sous Excel 2007 )

Le fichier est enregistré au format Excel 2003 dans cette ligende code là

Dim MonfichierXLS as string

MonFichierXLS =   "C:\........xls"  'Ici le nom et l'adresse de ton fichier

ActiveWorkbook.SaveAs Filename: =MonFichierXLS, FileFormat:= xlExcel8, Password:= "" , WriteResPassword: ="", ReadOnlyRecommended:= False , CreateBackup: =False

LC
__________________________________________________________________________
Pensez à accepter les réponses qui vous servent 
Messages postés
156
Date d'inscription
vendredi 13 janvier 2006
Statut
Membre
Dernière intervention
2 mars 2009

Re,

Utilise la fonction Date() de vba

Sub test()
Dim MonFichierXLS As String
Monfichier =   "C:\Monfichierdu "  & Date$ & ".xls"
End Sub

Ici la fonction Date$() te renvoie la date actuelle en un string de 10 caractères au format jj-mm-aaaa ( voir aide vba...)

Sinon pour personnaliser plus ton nom de fichier en rendant son nom plus manipulable :

Sub  test()
Dim MonFichierXLS As String
Monfichier  = "C:\Monfichierdu " & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".xls"
End Sub

Ce 2ème code renvoie la même chose que le 1er mais est modifiable.

Vala, à toi, de voir ce que tu préfères et de modifier si besoin..
__________________________________________________________________________
Pensez à accepter les réponses qui vous servent 
Messages postés
7
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
10 février 2009

Merci beaucoup, ça marche nikel.

Juste une dernière question, est-ce que je peux insérer dans le nom de fichier l'heure et la date en mettant Format(Time, "hh") etc ? Ou faut-il faire tout un autre truc ?

Merci encore

Michael Edwards
Icam Bretagne
France
Messages postés
7
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
10 février 2009

Parfait. Merci beaucoup.


J'ai rajouté l'heure (heure, minutes, secondes) en fin de nom afin de pouvoir enregistrer sans soucis de savoir si on remplace un fichier.


Merci encore.

Michael Edwards
Icam Bretagne
France