Recherche
Recherche
Les mémos
Je débute...
Visites

 1002234 visiteurs

 1 visiteur en ligne

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 6233 fois