enregistrement d une feuille en VBA

J

Jean Claude

Guest
Re bonjour à tous chers Forumeuse et forumeur

Je me demandais s il était possible d'écrire un code en VBA qui me permettrait de sauvegarder mon fichier a la fin de ma macro du style faire apparaitre une checbox : Veuillez enregistrer votre fichier sous :"..."

Comme je sais qu ici tout est possible pour certains pourriez vous m éclairer sur ce sujet s il vous plait.

En vous remerciant d avance, tachez de passez un bon apres midi....

J-C
 
S

sonic

Guest
Dim Message, Title, Default, MyValue ' D‚finit le message.
Message = "Saisir le Nom du fichier final"
Title = "Enregistrment " ' Definit le titre.
Default = "" ' Definition la valeur par defaut.
' Affiche le message, le titre et la valeur par defaut.
MyValue = InputBox(Message, Title, Default)
finfile = MyValue
If finfile = "" Then GoTo fin:
finfile = MyValue + ".xls"

ActiveWorkbook.SaveAs Filename:=finfile, FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
 
J

Jean Claude

Guest
Au passage est ce que tu pourrais m expliquer ce qu est Default?

Comment est ce que je défini mon répertoire ou il va s enregistrer ou va t il automatiquement ds le repertoire ou je travaille?

Merci pour toutes ces précisions
Après c fini, promis
:eek:)
 
Y

Yeahou

Guest
Bonjour Jean Claude, Sonic, le forum

Je te propose le code suivant utilisant un getsaveasfilename prépositionné sur un chemin et un nom de fichier prédéfini. Ce code teste l'existence du fichier sur disque pour éviter l'écrasement accidentel et supporte l'annulation.

Cordialement, A+

Sub Enregistrement()
Dim Titre As String, Nom_Fichier As String, Chemin As String
Dim Demande As Integer
Dim Mem_Cla As Workbook

Set Mem_Cla = ActiveWorkbook 'définition du classeur à sauvegarder
Chemin = "d:\donnees\" 'définition du chemin
Nom_Fichier = Chemin & "Nom_par_Defaut.xls" 'définition du nom par défaut
Titre = "Enregistrement du fichier"
Do
Demande = 0
Nom_Fichier = Application.GetSaveAsFilename(Nom_Fichier, FileFilter:="Fichiers Excel (*.Xls),*.Xls", Title:=Titre)
If Not (Dir$(Nom_Fichier, vbNormal) = "") Then Demande = MsgBox(LCase(Nom_Fichier) & " existe déja" & Chr(10) & "en date du " & DateValue(FileDateTime(Nom_Fichier)) & Chr(10) & "voulez vous l'écraser ?", vbYesNo)
If Demande = 7 Then Titre = "Redéfinissez le nom d'enregistrement"
If Nom_Fichier = "Faux" Then MsgBox "Fichier non enregistré !", vbInformation: Exit Sub 'désactiver cette ligne et activer la suivante pour empécher l'annulation d'enregistrement
'If Nom_Fichier = "Faux" Then Demande = 7
Loop While Demande = 7
Mem_Cla.SaveAs Filename:=Nom_Fichier, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
 
J

Jean Claude

Guest
Tout marche !!!!!!

Vous etes des dieux.....

Derniere petite question : comment faire pour bloquer mon fichier (c est a dire qu il ne soit pas modifiable.....

Merci d etre la et de faire ce que vous faites
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS