OVH Cloud OVH Cloud

Excel via Access

2 réponses
Avatar
Érico
Salut la gang de pro!

Est-ce possible d'envoyer des données D'Excel dans Access puisque je met
sert d'un fichier Excel pour stocké mes données, dont tous mes autres
fichiers Excel utilise cette base de données "Excel"

Mes craintes sont les suivantes: On va accumulé des tellement de données que
ça va devenir trop lourd pour Excel. Je sais qu'Access est plus conviviable.

Merci!

Érico

2 réponses

Avatar
Eric
Bonjour Erico,
A partir d'Acces tu peus en effet importer une table Excel sans aucun
problème. L'inverse est egalement vrai, à partir d'Access tu peus exporter
une table ou une requête sous forme de feuille XLS. Je fonctionne de cette
façon au boulot et c'est trés efficace.

Bon courage

Eric


"Érico" a écrit dans le message de news:
uND#
Salut la gang de pro!

Est-ce possible d'envoyer des données D'Excel dans Access puisque je met
sert d'un fichier Excel pour stocké mes données, dont tous mes autres
fichiers Excel utilise cette base de données "Excel"

Mes craintes sont les suivantes: On va accumulé des tellement de données
que

ça va devenir trop lourd pour Excel. Je sais qu'Access est plus
conviviable.


Merci!

Érico




Avatar
michdenis
Bonjour Éric,

Voici une façon de faire en utilisant ADO.

Exporte des données de la feuille "Denis" du
classeur où est enregistré la macro vers
C:Mes DocumentsComptoir.mdb dans
une table appelée "Fournisseurs"

Tu dois ajouter à ton classeur la bibliothèque suivante :

"MICROSOFT ACTIVEX DATA OBJECTS 2.0 LIBRAIRY"

Attention aux types de données. Elles doivent être compatible entre
ta feuille excel et le type déclaré dans ta table access.

La procédur n'accepte pas des champs vides, tu peux utiliser
un petit test si certains champs peuvent être problèmes.

Les restrictions de validation d'un enregistrement access sont valides.
exemple: si un champ dans access ne peut accepter une valeur vide
dans un enregistrement... si c'est le cas ça va planter !!!

Évidemment, un champ à numérotation automatique n'a pas
besoin d'être défini ....dans la boucle de transfert des données.

'------------------------------------
Sub MaRequêteAvecADO()

Dim cnt As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim Req As String

Dim Tblo As Variant, Rg As Range

With Worksheets("Denis")
Set Rg = .Range("A1:J30").CurrentRegion
End With
Tblo = Rg

cnt.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:Mes DocumentsComptoir.mdb;" & _
"Jet OLEDB:Database Password=", "admin", ""

Rst.Open "Fournisseurs", cnt, adOpenKeyset, _
adLockOptimistic, adCmdTable

For a = 2 To UBound(Tblo, 1)
With Rst
.AddNew
!Société = Tblo(a, 1)
![Fonction] = Tblo(a, 2)
![Contact] = Tblo(a, 3)
!Adresse = Tblo(a, 4)
!Ville = Tblo(a, 5)
If Tblo(a, 6) <> "" Then
!Région = Tblo(a, 6)
End If
![Code postal] = Tblo(a, 7)
![Pays] = Tblo(a, 8)
If Tblo(a, 9) <> "" Then
![Téléphone] = Tblo(a, 9)
End If
If Tblo(a, 10) <> "" Then
![Fax] = Tblo(a, 10)
End If
.Update
End With
Next
Rst.Close: cnt.Close
Set Rst = Nothing: Set Conn = Nothing

End Sub
'-----------------------------------------------


Salutations!




"Érico" a écrit dans le message de news:uND%
Salut la gang de pro!

Est-ce possible d'envoyer des données D'Excel dans Access puisque je met
sert d'un fichier Excel pour stocké mes données, dont tous mes autres
fichiers Excel utilise cette base de données "Excel"

Mes craintes sont les suivantes: On va accumulé des tellement de données que
ça va devenir trop lourd pour Excel. Je sais qu'Access est plus conviviable.

Merci!

Érico