Lien Access avec Excel

Résolu
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   -  
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Question : est-il possible de transférer des informations d'une BDD Access vers un formulaire Excel? (Et non exporter une table ou une requête sous la forme table.)

Je m'explique :

Je sais qu'à partir d'Access, il est possible de fusionner avec un document Word.

Je sais aussi qu'on peut exporter des données dans Excel.

Or, j'ai un formulaire Excel à compléter (il a été conçu ainsi pour des raisons bien précises) et j'aurais besoin d'y transférer les données de ma BDD Access, mais pas sous une forme table de données.

Il s'agit de la gestion de formations.

Actuellement, ma base de données ne contient que la liste des formations avec toutes les informations relatives à ces formations (ex. : salle, formateur, type de formation, titre, date, durée, etc.)

Dans le formulaire Excel, en entête, je dois inscrire les informations relatives à la formation, puis dans une autre partie, des informations relatives au budget (non comprises dans la base de données) et enfin, la liste des participants avec autres informations sur ces participants (employés).

Pour le moment, ma base de données ne me permet pas de gérer les inscriptions (c'est un projet, par contre, pour le futur), donc, je dois entrer les inscriptions dans une liste de présence (qui sera imprimée pour signatures), qui est un tout autre formulaire créé sous Word. Je réussis efficacement à fusionner dans Word pour avoir les données d'entête sur la formation, mais je dois ensuite saisir les inscriptions dans ce formulaire, et celles-ci ne peuvent pas être copiées collées dans le formulaire Excel.

Enfin, je cesse tous ces longs détails, qui me servent de préambule pour vous mettre en contexte, et j'en viens à ma question :

Est-il possible de transférer des données d'une base de données Access (en paramétrant de façon à ne sélectionner qu'une seule formation à la fois, par exemple) afin de les envoyer dans des cellules précises d'Excel, pour le formulaire budgétaire (et éventuellement, pour le formulaire d'inscription et liste de présence que je pourrais refaire en Excel plutôt que Word)?
A voir également:

1 réponse

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
Oui, c'est possible.
La mise en oeuvre dépendra de tes compétences en VBA et SQL.
Si tu es débutant, c'est sans doute préférable de commencer par des exercices plus simples.
0
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40
 
Merci, mais ce n'est pas un exercice. Je suis en situation réelle de travail!
Je prends toutes les suggestions. Sachant que c'est possible, je commence à mijoter quelque chose et au besoin, je vous fais signe (c'est-à-dire que je reviens sur le forum), mais au moins, de savoir que oui, c'est possible, ça me dit déjà que mes efforts de recherche ne seront pas vains!
Merci, vous faites ma journée!!!
0
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40 > ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention  
 
Et disons qu'en VBA, j'apprends peu à peu... et en SQL, je débute, mais j'ai déjà certains livres et je suis pas pire pour chercher en ligne ce dont j'ai besoin, et puis j'apprends quand même assez vite. Sauf que, des fois, quand on ne sait pas ce qui est possible ou non, on peut chercher longtemps... pour rien! Et c'est ce que je voulais éviter!
0
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40
 
Ah oui, j'ai le contrôle VBA du formulaire de la paie (budgétaire), car c'est moi qui l'ai conçu, mais il ne doit pas être modifié « en apparence », car il est utilisé par les gestionnaires, qui n'ont pas tous les mêmes connaissances en Excel, sauf qu'en arrière plan, je peux ajouter du VBA (il y en a déjà), au besoin.
Je cherche des pistes... c'est à suivre!
Merci encore!
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Petit exemple qui montre les possibilités:
Option Explicit
Sub buttedulac()
Dim strMyPath As String, strDBName As String, strDB As String, strSQL As String, strQuery As String
'To use ADO in your VBA project, you must add a reference _
' by clicking Tools-References in VBE, and then choose an appropriate version _
 'of Microsoft ActiveX Data Objects x.x Library from the list.
Dim adoRecSet As New ADODB.Recordset
Dim connDB As New ADODB.Connection
Dim i As Integer
strDBName = "ccm.accdb"
strMyPath = ThisWorkbook.Path
strDB = strMyPath & "\" & strDBName
connDB.Open ConnectionString:="Provider = Microsoft.ACE.OLEDB.12.0; data source=" & strDB
Set adoRecSet = New ADODB.Recordset
strQuery = "select * from ca1"
adoRecSet.Open Source:=strQuery, ActiveConnection:=connDB, CursorType:=adOpenStatic, LockType:=adLockOptimistic
Debug.Print adoRecSet.RecordCount
Do While Not adoRecSet.EOF
    For i = 0 To adoRecSet.Fields.Count - 1
        Debug.Print adoRecSet.Fields(i).Name, adoRecSet.Fields(i)
    Next i
    adoRecSet.MoveNext
Loop
End Sub
La requête SQL est en ligne 19.
0
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci!
Ouf! J'ai encore des croûtes à manger, mais je vais étudier tout ça et tenter une adaptation!
Ce sera un travail de longue haleine, mais j'espère y arriver!
0