Macro d'enregistrement excel

Résolu
mike56edwards Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 10 février 2009 - 29 janv. 2009 à 18:17
mike56edwards Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 10 février 2009 - 30 janv. 2009 à 09:18
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

whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009
29 janv. 2009 à 18:55
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 
3
whitelegend Messages postés 156 Date d'inscription vendredi 13 janvier 2006 Statut Membre Dernière intervention 2 mars 2009
29 janv. 2009 à 22:45
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 
3
mike56edwards Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 10 février 2009
29 janv. 2009 à 20:39
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
0
mike56edwards Messages postés 7 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 10 février 2009
30 janv. 2009 à 09:18
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
0
Rejoignez-nous