Utiliser une fonction Excel
Dans certains cas, il peut être plus simple d'utiliser une fonction de Excel.
Dans l'exemple suivant, on utilisera la fonction toute simple qui consiste à faire la somme de plusieurs valeurs : la fonction Sum()
Pour coller à l'exemple, imaginons que nous ayons une requête avec 5 champs numériques nommés : Ch1 à Ch5.
Placez la fonction suivante dans un module général et n'oubliez pas de cocher la référence "Microsoft Excel 11.0 Object Library" (la version 11.0 pour Excel 2003) via le menu "Outils, Références".
Function fnSommeExcel(ParamArray Valeurs()) On Error Resume Next Dim xl As Excel.Application, i As Integer ' Attribuer la valeur 0 aux champs Null For i = 0 To UBound(Valeurs()) Valeurs(i) = Nz(Valeurs(i), 0) Next Set xl = New Excel.Application ' Transmission des valeurs à la fonction d'Excel fnSommeExcel = xl.WorksheetFunction.Sum(Valeurs) xl.Quit Set xl = Nothing If Err <> 0 Then fnSommeExcel = Null End Function
Dans la requête, il suffira de créer un champ calculé faisant appel à cette fonction :
MaSomme: fnSommeExcel(Ch1, Ch2, Ch3, Ch4, Ch5)
Remarque :
Une fonction recréée dans un module Access sera beaucoup plus performante quant à la vitesse d'exécution.
Catégorie : Les mémos - Modules
Page lue 7635 fois