Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

access et excel

Y

yolo

Guest
bonjour,
je voudrais savoir comment recuperer les donneees qui sont dans mon fichier excel "test" onglet "FRA" cellule "A1:A8" dans ma table access "employes"

Merci
 
C

Chris

Guest
Bonjour
Depuis Access, fichier données externes importer (ou lier selon ce que tu veux).
Là tu précises le type Excel et tu sélectionnes la feuille FRA.
Si tu ne veux pas toute la feuille il faut au préalable nommer la plage dans la feuille Excel afin d'importer avec l'option plage nomée.
Chris
 
M

Michel_M

Guest
Bonjour Yolo, Chris et LE forum


Pour réaliser l'exportation de données vers Access, il est nécessaire, selon moi (il y a peut-être d'autres astuces ou techniques), d'utiliser la technologie DAO (ou ADO) en installant la référence "Microsoft DAO 3;6 Object library" dans l'éditeur VBE.

Pour te familiariser avec cette technique, tu peux fouiner sur les sites d'Eric Renaud, Laurent Longre et aussi info-3000.com. Il y a peut-être des exemples ou topos sur XLD

Ci dessous un listing-exemple où on veut exporter vers la requête "BPA" de la base de données "Cheptel", les indemnités reçues par des stagiaires en colonne G ( la liste des stagiaires "identite" a été exportée d'access vers excel avec DAO). Le calcul des indemnités, fonction de p+q+1 paramètres bureaucratiques justifie le traitement par Excel.

Sub exporter_données()


Dim source As database
Dim r_stag As Recordset
Dim chemin, nompr As String
Dim lig, nbre, donnee As Long

ActiveSheet.Unprotect
Application.ScreenUpdating = False

chemin = ActiveWorkbook.Path
'ouvre la base de données cheptel
Set source = dbengine.opendatabase(chemin & "\cheptel.mdb")
'ouvre la requete des BPA
Set r_stag = source.openrecordset("R_bpa", dbopendynaset)



nbre = Application.CountA(Range("G:G"))
lig = 2
While lig <= nbre

nompr = Cells(lig, 7)
donnee = Cells(lig, 9)

With r_stag
.MoveFirst
.FindFirst ("[identité]='" & nompr & "'")
.Edit
.Fields("indemnités") = donnee
.Update
End With

lig = lig + 1
Wend

'ActiveSheet.Protect
r_stag.Close
source.Close
Set r_stag = Nothing
Set source = Nothing

MsgBox "Exportations vers Access effectuées"



End Sub

Au départ, ce n'est pas évident (utilise l'aide Microsoft pour comprendre les syntaxes çi dessus) et, pour employer une expression lue sur ce forum, "il faut mettre les mains dans le cambouis" mais après tu oublieras les bases de données Excel, bien pratiques pour des petites listes à table unique, mais d'un maniement souvent difficile et l'assistant MS query…sans compter le temps de sauvegarde. De plus tu peux exporter des données Vers Word, à partir de Word, sans problème.

Excuses moi d'avoir été un peu long et de ne pas t'envoyer un exemple (ensemble > 50 ko): si ça t'intéresse fais moi signe sur ma bal.

Amicalement
Michel
 
C

chris

Guest
Re
Depuis access tu peux créer un fichier de paramètres pour l'import.
Ensuite tu peux utiliser une macro ou un module VB pour déclencher l'import en utilisant ce ficher.
Tu ne précises pas laquelle des 2 applis doit gérer cet import.
Personnellement je trouve plus fiable de le faire côté SGBD.
Chris
 

Discussions similaires

Réponses
1
Affichages
410
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…