• Initiateur de la discussion Initiateur de la discussion yolo
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
288
Réponses
5
Affichages
117
Réponses
7
Affichages
137
Réponses
4
Affichages
180
Réponses
7
Affichages
449
  • Question Question
Réponses
7
Affichages
370
Retour