[Excel>Access] exportation

Fermé
samgdel - 20 avril 2009 à 13:01
 gan - 8 déc. 2014 à 16:00
Bonjour,
je dois modifier un fichier type Excel pour que certaines cellules du fichier soient envoyées sur une base access (si possible avec un bouton dans excel), ces cellules sont tjs les memes.

J'arrive à faire cette opération a partir d Access (DoCmd.TransferSpreadsheet acImport...) mais j'aimerais que la manipulation se fasse a partir d'Excel.

Quelqu'un aurait un exemple de code qui pourrait ressembler à ce que je cherche?

Merci
A voir également:

3 réponses

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
20 avril 2009 à 13:24
Bonjour
Voir ce lien mais comme tu ne dit pas le type de BD ?
A+
0
je ne vois pas trop ce que je peux dire de plus...
C une base Access .mdb , que je vais créer spécialement pour stocker toutes les informations au même endroit et pouvoir ensuite éxécuter des requetes.
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190 > samgdel
21 avril 2009 à 12:00
Alors le lien que je t'ai communiqué est tout à fait ce qu'il te faut.
0
samgdel > lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020
24 avril 2009 à 13:13
Voici le code que j'ai inséré dans un module global, avec en gras mes modifications, il m'indique une erreur erreur sur le count (soulginé) "erreur de compilation : constante requise" . D'ou vient le problème? et ce que j'aurais fait une mauvaise manipulation?
Merci

Sub CopieDBaccess()
Dim BDexp As Database
Dim Table As Recordset
Dim TbDef As TableDef
Dim Ch As String, Lig As Long, i As Integer
Ch = "C:\Documents and Settings\WXPM7312\Desktop\nouvellebase.MDB"
Set BDexp = DBEngine.Workspaces(0).OpenDatabase(Ch)
Set Table = BDexp.OpenRecordset("Essai", dbOpenDynaset)
Set TbDef = BDexp.TableDefs("Essai")
Lig = 3
dim Nom(TbDef.Fields.Count - 1) As String
With Sheets("abc")
For i = 0 To TbDef.Fields.Count - 1
Nom(i) = TbDef.Fields(i).Name
.Cells(Lig, i + 3) = Nom(i)
Next
Table.MoveFirst
Lig = 4
While Not Table.EOF
For i = 0 To TbDef.Fields.Count - 1
.Cells(Lig, i + 3) = Table(Nom(i))
Next i
Lig = Lig + 1
Table.MoveNext
Wend
End With
Table.Close
BDexp.Close
Set BDexp = Nothing
Set Table = Nothing

End Sub
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
25 avril 2009 à 07:32
Tu dois d'abord déclarer le tableau..
Dim Nom() As String
...
...
Redim Nom(TbDef.Fields.Count - 1)

A+
0
Merci Lermite
0