Bouton "enregistrer sous"

leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005 - 19 mai 2005 à 09:20
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005 - 19 mai 2005 à 13:00
Bonjour,



Je désire créer un bouton "enregister sous" dans un de mes formulaire
access. Ce bouton ouvrirai une boite de dialogue ou l'utilisateur peut
choisir le nom du fichier et le répertoire dans lequel il veut
enregister (idem que la boite de dialogue : fichier : enregister sous)

Pour info ca sera tjs un fichier excel



J'ai deja le bouton parcourir (pour selectionner un fichier), et je me dis que ca doit pas etre tres different.



merci de votre aide

6 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 mai 2005 à 09:46
Bonjour,

Private Sub Command1_Click()
With CommonDialog1
.DialogTitle = "Enregistrer le fichier sous..."
.CancelError = True
.Filter = "Tous(*.*)|*.*"
.FilterIndex = 1
.FileName = ""
.InitDir = "C:\Mes documents"
.ShowSave
End With
End Sub

jpleroisse
0
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005
19 mai 2005 à 10:01
Bonjour,



Merci pour le code, mais cela me donnne une erreur à l'exécution, object required...



Voici ma function pour le bouton "parcourir", pourriez-vous m'aider a adapter la fonction "enregistrer sous" ?



merci



"le code de parcourir"



Function LaunchCD(strform As Form) As String

Dim OpenFile As OPENFILENAME

Dim lReturn As Long

Dim sFilter As String

Dim s As String

OpenFile.lStructSize = Len(OpenFile)

OpenFile.hwndOwner = strform.Hwnd

sFilter = "Excel Files (*.xls)" & Chr(0) & "*.xls" & Chr(0) 'Choisissez ici le filtre de fichiers

OpenFile.lpstrFilter = sFilter

OpenFile.nFilterIndex = 1

OpenFile.lpstrFile = String(257, 0)

OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1

OpenFile.lpstrFileTitle = OpenFile.lpstrFile

OpenFile.nMaxFileTitle = OpenFile.nMaxFile

OpenFile.lpstrInitialDir = "C:" 'Choisissez ici le répertoire initial

OpenFile.lpstrTitle = "Common Box" 'Entrez ici le titre de votre boite de dialogue

OpenFile.flags = 0

lReturn = GetOpenFileName(OpenFile)

If lReturn = 0 Then

s = MsgBox("Error", 16, "Error")

Else


LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile,
vbNullChar) - 1))

End If

End Function
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 mai 2005 à 10:09
Je voudrais bien essayer de t'aider, mais comment lance tu ta Function, quand je veux la lancer vb me met un message "Type Incompatible", je dois surement commèttre une erreur dans ma commande.

jpleroisse
0
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005
19 mai 2005 à 10:16
Désolé mon code était pas complet pour le bouton parcourir !!!



Voici le code en entier (tout en bas).



Et pour le lancer, je definis mon bouton avec une procedure evenementielle comme suit :



Private Sub Command1_Click()

Me!file = LaunchCD(Me)

End Sub



alors est-ce possible de transformer ton code pour enregister sous, pour que ca joue chez moi ?



merci







Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _

"GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long



Private Type OPENFILENAME

lStructSize As Long

hwndOwner As Long

hInstance As Long

lpstrFilter As String

lpstrCustomFilter As String

nMaxCustFilter As Long

nFilterIndex As Long

lpstrFile As String

nMaxFile As Long

lpstrFileTitle As String

nMaxFileTitle As Long

lpstrInitialDir As String

lpstrTitle As String

flags As Long

nFileOffset As Integer

nFileExtension As Integer

lpstrDefExt As String

lCustData As Long

lpfnHook As Long

lpTemplateName As String

End Type



Function LaunchCD(strform As Form) As String

Dim OpenFile As OPENFILENAME

Dim lReturn As Long

Dim sFilter As String

Dim s As String

OpenFile.lStructSize = Len(OpenFile)

OpenFile.hwndOwner = strform.Hwnd

sFilter = "Excel Files (*.xls)" & Chr(0) & "*.xls" & Chr(0) 'Choisissez ici le filtre de fichiers

OpenFile.lpstrFilter = sFilter

OpenFile.nFilterIndex = 1

OpenFile.lpstrFile = String(257, 0)

OpenFile.nMaxFile = Len(OpenFile.lpstrFile) - 1

OpenFile.lpstrFileTitle = OpenFile.lpstrFile

OpenFile.nMaxFileTitle = OpenFile.nMaxFile

OpenFile.lpstrInitialDir = "C:" 'Choisissez ici le répertoire initial

OpenFile.lpstrTitle = "Common Box" 'Entrez ici le titre de votre boite de dialogue

OpenFile.flags = 0

lReturn = GetOpenFileName(OpenFile)

If lReturn = 0 Then

s = MsgBox("Error", 16, "Error")

Else


LaunchCD = Trim(Left(OpenFile.lpstrFile, InStr(1, OpenFile.lpstrFile,
vbNullChar) - 1))

End If

End Function
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
19 mai 2005 à 12:29
Désolé, mais je n'arrive à rien, mais est-ce du VB 6 ou du . Net,
parce que Me!file en vb6 ce n'est pas reconnu.

jpleroisse
0
leubaa Messages postés 24 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 20 mai 2005
19 mai 2005 à 13:00
C'est du VB6... est-ce vous pourriez me donner tout le code (et la foncon de procéder avec votre méthode ?)



Merci
0
Rejoignez-nous