Bonjour a tous,
Je cherche a utiliser la fonction excel Intercept dans access, et je n'y arrive pas. J'ai beaucoup cherche sur les forums et trouve des codes mais j'arrive pas a correctement les appliquer a mon cas.
En fait, ce que je cherche a faire, c'est creer une fonction Intercept dans access, et creer une fonction pour recuperer mon resultat access dans excel.
J'ai une table 'Parametres' avec trois champs: un champ 'Date', un champ 'Parametre 1' et un champ 'Parametre 2'.
Dans Access j'ai active la reference Microsoft Excel 14.0 Object Library, et j'ai cree un module avec le code suivant:
Dans Excel, j'ai ensuite insere le code suivant dans un module:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Function xlIntercept(Param1 As Double, Param2 As Double) Dim obj As Excel.Application Set obj = CreateObject("Excel.Application") xlIntercept = Excel.WorksheetFunction.Intercept(Param1, Param2) obj.Quit Set obj = Nothing End Function
Dans n'importe quelle cellule d'une feuille excel, j'ai place la formule suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Public Function Retrieve1(Optional ByVal Val01 As Date) ' Connexion et ouverture de la base de données Dim cnx As ADODB.Connection Dim strPath As String Set cnx = New ADODB.Connection strPath = ThisWorkbook.Path & "\Revisit.accdb" 'Définition du pilote de connexion cnx.Provider = "Microsoft.Ace.OLEDB.12.0" 'Définition de la chaîne de connexion cnx.ConnectionString = strPath 'Ouverture de la base de données cnx.Open ' Définition de la Query SQL Dim strSQL As String Dim rst As New ADODB.Recordset strSQL = "SELECT xlIntercept([Parametre 1],[Parametre 2]) AS [Total 1] FROM [Parametres]" ' Ouverture de la Query rst.Open strSQL, cnx rst.MoveFirst ' Définition de la Function excel Retrieve1 = rst("Total 1") ' Fermeture et libération des objets rst.Close Set rst = Nothing End Function
=Retrieve1().
et j'ai une erreur #Value!.
Je precise que la variable 'Val01' As Date, est cense etre optionnel et que ca me sert a filtrer selon une date. mais peu importe, avec ou sans, j'arrive pas a faire fonctionner cette fonction.
au fait, je suis nouveau sur le forum, donc n'hesitez pas a m'apprendre les regles de base (genre si le topic est pas place au bon endroit)...
Merci a tous,
Arnaud
Partager