Bonjour à tous,
Voilà, j'ai un petit souci avec vba : je dispose d'une base de données Access, dans laquelle j'ai des tables et des requêtes sur ces tables. J'ai créé un programme dans vba qui exporte les requêtes Access que je veux dans différents onglets d'un fichier Excel, ce qui marche très bien.😀
Mon souci vient d'une des requêtes Access qui contient une médiane. Comme, à ma connaissance, la fonction médiane n'existe pas dans Access, je l'ai réécrite dans un module de ma base de données Access. Ca fonctionne bien dans Access.🙂
Mais... Quand j'importe cette requête précisément dans Excel, avec mon programme vba qui fontionne pour les autres requêtes, j'ai le message d'erreur suivant qui s'affiche:
Erreur d'exécution '-2147217900 (80040e14)' :
Fonction 'fMediane' non définie dans l'expression 😕😕
Est-ce que vous pouvez m'aider? Je cherche, soit à calculer la médiane autrement qu'avec une fonction dans un module d'Access (même si je ne vois pas bien comment), soit à importer cette requête dans Excel en faisant une sorte de copie des valeurs (et pas des fonctions) présentes dans la requête access ?
Si besoin, voilà ma fonction vba qui me permet d'importer les tables :
Merci d'avance pour toute suggestion que vous pourrez faire pour m'aider à résoudre ce petit casse-tête... 🙂 😕 🙂
Voilà, j'ai un petit souci avec vba : je dispose d'une base de données Access, dans laquelle j'ai des tables et des requêtes sur ces tables. J'ai créé un programme dans vba qui exporte les requêtes Access que je veux dans différents onglets d'un fichier Excel, ce qui marche très bien.😀
Mon souci vient d'une des requêtes Access qui contient une médiane. Comme, à ma connaissance, la fonction médiane n'existe pas dans Access, je l'ai réécrite dans un module de ma base de données Access. Ca fonctionne bien dans Access.🙂
Mais... Quand j'importe cette requête précisément dans Excel, avec mon programme vba qui fontionne pour les autres requêtes, j'ai le message d'erreur suivant qui s'affiche:
Erreur d'exécution '-2147217900 (80040e14)' :
Fonction 'fMediane' non définie dans l'expression 😕😕
Est-ce que vous pouvez m'aider? Je cherche, soit à calculer la médiane autrement qu'avec une fonction dans un module d'Access (même si je ne vois pas bien comment), soit à importer cette requête dans Excel en faisant une sorte de copie des valeurs (et pas des fonctions) présentes dans la requête access ?
Si besoin, voilà ma fonction vba qui me permet d'importer les tables :
Code:
Sub Import_tab_access(wk_encours As String, feuil_encours As String, nom_tab_access As String, premiereligne As Integer)
'wk_encours : classeur Excel en cours de modif
'feuil_encours : feuille Excel dans laquelle j'importe les données
'nom_tab_access : nom de la requête access que je copie dans Excel
'premiere_ligne : ligne de la feuille Excel où je colle la requête Access
Dim oRs As ADODB.Recordset
Dim oCnn As ADODB.Connection
Set oCnn = New ADODB.Connection
oCnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\toto\Bureau\P_test_en_cours.mdb;" 'User Id=admin;Password=;"
oCnn.Open
Set oRs = New ADODB.Recordset
oRs.Open "SELECT * FROM " & nom_tab_access & ";", oCnn, adOpenKeyset, adLockReadOnly, adCmdText
For i = 0 To oRs.Fields.Count - 1
Workbooks(wk_encours).Sheets(feuil_encours).Cells(premiereligne, i + 2).Value = oRs.Fields(i).Name
Next
Workbooks(wk_encours).Sheets(feuil_encours).Cells(premiereligne + 1, 2).CopyFromRecordset oRs
'Clean up ADO Objects
oRs.Close
Set oRs = Nothing
oCnn.Close
Set oCnn = Nothing
End Sub
Merci d'avance pour toute suggestion que vous pourrez faire pour m'aider à résoudre ce petit casse-tête... 🙂 😕 🙂