OVH Cloud OVH Cloud

copier des données access dans excel

4 réponses
Avatar
poca
bonjour
je voudrais copier des données d'une table access vers un classeur excel
sachant que j'ai la version 2003 d'access.

je voudrais copier ligne par ligne dans une feuille excel et je ne sais pas
comment ouvrir mon classeur excel j'ai essayé plusieurs choses qui ne
fonctionnent pas aussi bien pour ouvrir ma table acces que ma table excel
Il faudrait donc que je sélectionne la 1ère ligne de ma table access que je
la colle dans une feuille excel pour obtenir un résultat que je copierai
ensuite sous access.


Merci de votre aide

poca
Dim rs As New ADODB.Recordset
Dim objXL As Excel.Application
Dim objwkb As Workbook
Dim objsht As Worksheet
Dim db As Database

Set rs.Open = ("C:\Documents and Settings\claudie\Bureau\essai.mdb")
Set db.OpenRecordset = ("C:\Documents and Settings\claudie\Bureau\essai.mdb")
Set objwkb = ("C:\Documents and Settings\claudie\Bureau\essai lien
access.xls")

4 réponses

Avatar
circaete
J'ai eu ce problème récemment, j'ai créé une requête sous access, dont je
copie tous les enregistrements dans le prsse papier, puis je pilote depuis
access une macro dans Excel qui colle le contenu du presse papier dans la
cellule choisie:

DoCmd.OpenQuery "Tableau1", acViewNormal, acEdit
DoCmd.RunCommand acCmdSelectAllRecords
DoCmd.RunCommand acCmdCopy


Dim XL As Excel.Workbook
Set XL = GetObject(DossierProgramme() & "tableau1.XLS", _
"Excel.Sheet")
' Make Excel Visible
XL.Application.Visible = True
' Make the Workbook visible
XL.Application.Windows("tableau1.XLS").Visible = True
'XL.Application.Run "supprimerlignes"
XL.Application.Run "Collerlignesaccess"
XL.Application.ActiveWorkbook.Save
XL.Application.Quit
DoCmd.Close acQuery, "Tableau1"



bonjour
je voudrais copier des données d'une table access vers un classeur excel
sachant que j'ai la version 2003 d'access.

je voudrais copier ligne par ligne dans une feuille excel et je ne sais pas
comment ouvrir mon classeur excel j'ai essayé plusieurs choses qui ne
fonctionnent pas aussi bien pour ouvrir ma table acces que ma table excel
Il faudrait donc que je sélectionne la 1ère ligne de ma table access que je
la colle dans une feuille excel pour obtenir un résultat que je copierai
ensuite sous access.


Merci de votre aide

poca
Dim rs As New ADODB.Recordset
Dim objXL As Excel.Application
Dim objwkb As Workbook
Dim objsht As Worksheet
Dim db As Database

Set rs.Open = ("C:Documents and SettingsclaudieBureauessai.mdb")
Set db.OpenRecordset = ("C:Documents and SettingsclaudieBureauessai.mdb")
Set objwkb = ("C:Documents and SettingsclaudieBureauessai lien
access.xls")



Avatar
Raymond [mvp]
Bonjour.

qu'est-ce qui rend la copie impérative ligne à ligne .
utiliser la copie globale, soit par
DoCmd.TransferSpreadsheet ......
soit par le fonction: CopyFromRecordset
http://officesystem.access.free.fr/vba/export_recordset.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"poca" a écrit dans le message de news:

bonjour
je voudrais copier des données d'une table access vers un classeur excel
sachant que j'ai la version 2003 d'access.

je voudrais copier ligne par ligne dans une feuille excel et je ne sais
pas
comment ouvrir mon classeur excel j'ai essayé plusieurs choses qui ne
fonctionnent pas aussi bien pour ouvrir ma table acces que ma table excel
Il faudrait donc que je sélectionne la 1ère ligne de ma table access que
je
la colle dans une feuille excel pour obtenir un résultat que je copierai
ensuite sous access.


Merci de votre aide

poca
Dim rs As New ADODB.Recordset
Dim objXL As Excel.Application
Dim objwkb As Workbook
Dim objsht As Worksheet
Dim db As Database

Set rs.Open = ("C:Documents and SettingsclaudieBureauessai.mdb")
Set db.OpenRecordset = ("C:Documents and
SettingsclaudieBureauessai.mdb")
Set objwkb = ("C:Documents and SettingsclaudieBureauessai lien
access.xls")



Avatar
poca
j'ai bcp de lignes donc je ne peux faire les calculs sous excel. Je veux
pouvoir vérifier si mes calculs sont bons tête par tête. En collant ma ligne
sous excel je fais des calculs qui nécéssitent plusieurs onglets de calcul
sous excel.
J'ai essayé plusieurs choses je ne comprends pas pourquoi certaines ne
marchent pas :

Sub essai()

Dim rs As New ADODB.Recordset
Dim cnn As New ADODB.Connection

Dim rt As New ADODB.Recordset
Dim ccnn As New ADODB.Connection

Dim dateent(1 To 5) As Double
Dim daten(1 To 5) As Double

Dim xlapp As Excel.Application
Dim xlw As Excel.Workbook
Dim xls As Excel.Worksheet
Dim strfichier As String

'Set xlapp = xlapp.Workbooks.Add
'xlapp.Visible = True



Set cnn = CurrentProject.Connection
rs.Open "Dates", cnn, adOpenForwardOnly, adLockReadOnly
rt.Open "Table1", cnn, adOpenForwardOnly, adLockReadOnly

k = 1
While Not rs.EOF
dateent(k) = rs.Fields("datedentrée").Value
daten(k) = rs.Fields("datedenaissance").Value
rs.MoveNext

k = k + 1

Wend
Set rs = Nothing
Set cnn = Nothing


For i = 1 To k
rt.AddNew
rt("date d'ent") = dateent(k)
rt("date de nais") = daten(k)
Next i
rt.Update
Set rt = Nothing

End Sub

ou encore


Sub calcul()

Dim cnn As New ADODB.Connection
Set cnn = CurrentProject.Connection
Dim Dates As New ADODB.Recordset
Dates.
For i = 1 To 3
cnn.Execute "SELECT Dates.datedenaissance, Dates.datedentrée FROM Dates
WHERE ((Dates.numéro)=i)"

Next i
End Sub



Bonjour.

qu'est-ce qui rend la copie impérative ligne à ligne .
utiliser la copie globale, soit par
DoCmd.TransferSpreadsheet ......
soit par le fonction: CopyFromRecordset
http://officesystem.access.free.fr/vba/export_recordset.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"poca" a écrit dans le message de news:

bonjour
je voudrais copier des données d'une table access vers un classeur excel
sachant que j'ai la version 2003 d'access.

je voudrais copier ligne par ligne dans une feuille excel et je ne sais
pas
comment ouvrir mon classeur excel j'ai essayé plusieurs choses qui ne
fonctionnent pas aussi bien pour ouvrir ma table acces que ma table excel
Il faudrait donc que je sélectionne la 1ère ligne de ma table access que
je
la colle dans une feuille excel pour obtenir un résultat que je copierai
ensuite sous access.


Merci de votre aide

poca
Dim rs As New ADODB.Recordset
Dim objXL As Excel.Application
Dim objwkb As Workbook
Dim objsht As Worksheet
Dim db As Database

Set rs.Open = ("C:Documents and SettingsclaudieBureauessai.mdb")
Set db.OpenRecordset = ("C:Documents and
SettingsclaudieBureauessai.mdb")
Set objwkb = ("C:Documents and SettingsclaudieBureauessai lien
access.xls")








Avatar
Raymond [mvp]
fais d'abord tes calculs avec une requête ou ton code vba, et ensuite
transfère tout ensemble.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"poca" a écrit dans le message de news:

j'ai bcp de lignes donc je ne peux faire les calculs sous excel. Je veux
pouvoir vérifier si mes calculs sont bons tête par tête. En collant ma
ligne
sous excel je fais des calculs qui nécéssitent plusieurs onglets de calcul
sous excel.
J'ai essayé plusieurs choses je ne comprends pas pourquoi certaines ne
marchent pas :

Sub essai()

Dim rs As New ADODB.Recordset
Dim cnn As New ADODB.Connection

Dim rt As New ADODB.Recordset
Dim ccnn As New ADODB.Connection

Dim dateent(1 To 5) As Double
Dim daten(1 To 5) As Double

Dim xlapp As Excel.Application
Dim xlw As Excel.Workbook
Dim xls As Excel.Worksheet
Dim strfichier As String

'Set xlapp = xlapp.Workbooks.Add
'xlapp.Visible = True



Set cnn = CurrentProject.Connection
rs.Open "Dates", cnn, adOpenForwardOnly, adLockReadOnly
rt.Open "Table1", cnn, adOpenForwardOnly, adLockReadOnly

k = 1
While Not rs.EOF
dateent(k) = rs.Fields("datedentrée").Value
daten(k) = rs.Fields("datedenaissance").Value
rs.MoveNext

k = k + 1

Wend
Set rs = Nothing
Set cnn = Nothing


For i = 1 To k
rt.AddNew
rt("date d'ent") = dateent(k)
rt("date de nais") = daten(k)
Next i
rt.Update
Set rt = Nothing

End Sub

ou encore


Sub calcul()

Dim cnn As New ADODB.Connection
Set cnn = CurrentProject.Connection
Dim Dates As New ADODB.Recordset
Dates.
For i = 1 To 3
cnn.Execute "SELECT Dates.datedenaissance, Dates.datedentrée FROM Dates
WHERE ((Dates.numéro)=i)"

Next i
End Sub



Bonjour.

qu'est-ce qui rend la copie impérative ligne à ligne .
utiliser la copie globale, soit par
DoCmd.TransferSpreadsheet ......
soit par le fonction: CopyFromRecordset
http://officesystem.access.free.fr/vba/export_recordset.htm

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"poca" a écrit dans le message de news:

bonjour
je voudrais copier des données d'une table access vers un classeur
excel
sachant que j'ai la version 2003 d'access.

je voudrais copier ligne par ligne dans une feuille excel et je ne sais
pas
comment ouvrir mon classeur excel j'ai essayé plusieurs choses qui ne
fonctionnent pas aussi bien pour ouvrir ma table acces que ma table
excel
Il faudrait donc que je sélectionne la 1ère ligne de ma table access
que
je
la colle dans une feuille excel pour obtenir un résultat que je
copierai
ensuite sous access.


Merci de votre aide

poca
Dim rs As New ADODB.Recordset
Dim objXL As Excel.Application
Dim objwkb As Workbook
Dim objsht As Worksheet
Dim db As Database

Set rs.Open = ("C:Documents and SettingsclaudieBureauessai.mdb")
Set db.OpenRecordset = ("C:Documents and
SettingsclaudieBureauessai.mdb")
Set objwkb = ("C:Documents and SettingsclaudieBureauessai lien
access.xls")