UN VRAI PROBLEME DE TRANSFERT DES DONNEES DE ACCESS A EXCEL

pataccess Messages postés 39 Date d'inscription mardi 2 août 2005 Statut Membre Dernière intervention 31 mars 2006 - 3 août 2005 à 15:59
apaulux Messages postés 73 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 2 octobre 2009 - 3 août 2005 à 20:51
J'ai réellement un problème dans mon transfert de données de Access à Excel ! Quelqu'un pourrait il me dire comment se fait il que Access me recrée une feuille de type "Fichier1" alors qu'il existe deja une feuille "Fichier" au sein d'Excel ! Mes codes de commandes sont de ce type :

DoCmd.TransferSpreadsheet acExport, 5, "Progression", strcheminmois & strname2

J'aimerai comprendre à quoi est du ce problème sérieusement là je suis larguer ! Ca m'énerve un peu j'avoue car je bloque et je suis à la fin du projet Access. Je ne comprends pas pourquoi il s'amuse à créer une nouvelle feuille. J'ai donc essayer de suivre les données de l'ensemble des collègues du site en introduisant une formule finale du type :

Sheets("Intervalle1").Select
Cells.Select
Selection.Copy
Sheets("Intervalle").Select
Range("A1").Select
Cells.Select
ActiveSheet.Paste
Sheets("Intervalle1").Delete

Ceci permettant alors de supprimer la feuille nouvellement crée mais rien à faire , il s'acharne et persiste !! Je sais pas comment ce problème est né !
Merci encore à tous pour l'aide c'est super génial je vous en remercie encore tous !

Patrick

1 réponse

apaulux Messages postés 73 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 2 octobre 2009
3 août 2005 à 20:51
DoCmd. c' est une fonction export d' une elle faite pour exporter une table avec une creation automatique d'une nouvelle table.
http://multibases.site.voila.fr


Dim wd As Object, I As Long, Ligne As Long, N_Lignes As Long
Dim DB As DAO.Database, RS As Recordset, I As Long, J As Long
Set DB = gwsMainWS.OpenDatabase("C:\Documents and Settings\paul\Bureau\Comptoir.mdb", False, gnReadOnly, ";pwd=")
Set wd = CreateObject("Excel.application")
wd.Workbooks.Open ("C:\Documents and Settings\paul\Bureau\DEMO\FICHIER\Fichier.XLS")


wd.Sheets("Clients").Activate
Ligne = 1 'Ligne Nom des champs
Set RS = DB.OpenRecordset("Clients")
With RS
If RS.RecordCount = 0 Then
Beep
RS.Close
DB.Close
wd.Application.Quit: Set wd = Nothing
Exit Sub
Else
.MoveLast
.MoveFirst
N_Lignes = .RecordCount
Do Until RS.EOF
For I = 1 To N_Lignes + 1
Ligne = Ligne + 1
For J = 0 To RS.Fields.Count - 1
wd.Cells(Ligne, J + 1).Value = RS.Fields(J)
Next
RS.MoveNext
Next
Loop
End If
End With
RS.Close
DB.Close
wd.ActiveWorkbook.Save
'Avec Confirmation wd.Workbooks.Save
wd.Workbooks.Close
wd.Application.Quit: Set wd = Nothing

[mailto:paul.ablasou@wanadoo.fr mailto:paul.ablasou@wanadoo.fr]
0
Rejoignez-nous