Exportations vers Excel avec filtre sur la requete
cs_bibi_angel
Messages postés14Date d'inscriptionjeudi 16 février 2006StatutMembreDernière intervention24 mai 2006
-
23 mai 2006 à 16:10
cylf
Messages postés3Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention 9 juin 2006
-
12 juin 2006 à 21:50
Bijour,
j'ai juste besoin d'un renseignement. voila, j'ai un formulaire et je voudrais exporter les donnees sous format excel je fais donc :
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel7, "OS par poste et gamme", "Exportation_par_gamme.xls"
où "OS par poste et gamme" est une requete générale, je voudrais appliquer un filtre à l'exportation selon les données choisies sur le formulaire.
Je ne sais pas si j'ai été assez claire, je suis sure que la solution est tres simple en plus...
Merci par avance a ceux qui repondront
A voir également:
Exportations vers Excel avec filtre sur la requete
cylf
Messages postés3Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention 9 juin 2006 12 juin 2006 à 21:50
Je ne sais pas s'il existe une solution plus simple, mais je ne l'ai pas trouvée !!
Attention, la ligne de titre n'est pas copiée, mais tu peux la générer à partir de la collection "Fields", dans ce cas il faudra copier les données en "A2" au lieu de "A1".
' Procédure associée à l'événement "Sur click" d'un bouton nommé "BtnExportExcel"
Private Sub btnExportExcel_Click()
Dim rsClone As Recordset
Dim oAppExcel As Object
Dim oWorkbook As Object
Dim oSheet As Object
' Permet de faire référence aux données du formulaire
Set rsClone = Me.RecordsetClone
' Se place sur le 1er enregistrement, obligatoire sinon la copie ne fonctionne correctement
' qu'à la première exportation
rsClone.MoveFirst
' Crée une nouvelle instance de l'application excel
Set oAppExcel = CreateObject("excel.application")
' Crée un classeur. Pour ouvrir un classeur existant : oAppExcel.workbooks.Open "NomFichier.Xls"
Set oWorkbook = oAppExcel.workbooks.Add
' Etablit une référence avec la 1ère feuille du classeur
Set oSheet = oWorkbook.sheets(1)
' Copie dans cette feuille à partir de la cellule "A1" les données du formulaire
' s'agissant d'un clône du recordset associé au formulaire, le filtre du formulaire est pris en compte
oSheet.Range("A1").CopyFromRecordset rsClone
' Sauvegarde le fichier excel
oWorkbook.SaveAs "C:\Temp\MonFichier.Xls"
' Rend excel visible. Pour fermer excel : oAppExcel.Application.Quit
oAppExcel.Application.Visible = True
' réinitialise à nothing les variables objets
Set oWorkbook = Nothing
Set oSheet = Nothing
Set oAppExcel = Nothing
End Sub