Toutes les fonctions de feuille de calcul Excel ne sont pas prises en charge en tant que méthodes de l’objet application dans Visual Basic pour applications


Pour un Microsoft Excel 97 et version antérieure ou Microsoft Excel 98 Macintosh Edition ou version antérieure de cet article, voir 107564 .

Résumé


Dans Microsoft Visual Basic pour applications, toutes les fonctions de feuille de calcul Microsoft Excel ne sont pas prises en charge en tant que méthodes de l’objet application . Si vous essayez d’utiliser l’une de ces fonctions de feuille de calcul avec l’objet application , le message d’erreur suivant s’affiche :
Erreur au moment de l’exécution' 438 ' : objet ne prenant pas en charge cette propriété ou cette méthode

Informations supplémentaires


Vous pouvez écrire des procédures Visual Basic qui appellent des fonctions de feuille de calcul Microsoft Excel. Les fonctions de feuille de calcul qui sont disponibles pour les procédures Visual Basic se trouvent dans l’objet application et sont répertoriées dans la listeméthodes ou Propriétés de l’objet application dans l’Explorateur d’objets Visual Basic. la plupart des fonctions de feuille de calcul qui ne sont pas disponibles comme méthodes de l’objetapplication ont un opérateur ou une fonction intégré Microsoft Visual Basic. Par exemple, la fonction de feuille de calcul Mod n’est pas disponible en tant que méthode de l’objet application , car il existe un opérateur Mod équivalent intégré à Visual Basic. Un opérateur Visual Basic fonctionne plus rapidement qu’une fonction Microsoft Excel dans un module Visual Basic.

Fonctions de feuille de calcul Excel disponibles comme méthodes dans Visual Basic

Remarque: les étapes suivantes présupposent que vous avez installé le fichier d’aide de Visual Basic. Pour afficher une liste de toutes les fonctions de feuille de calcul Microsoft Excel disponibles comme méthodes de l’objet application en Visual Basic, procédez comme suit :
  1. Dans Visual Basic Editor, tapez fonctions de feuille de calcul dans le Compagnon Microsoft Office, puis cliquez sur Rechercher.
  2. Dans la liste des rubriques, cliquez sur liste des fonctions de feuille de calcul disponibles dans Visual Basic.
Pour Rechercher l’opérateur ou la fonction Visual Basic équivalent d’une fonction de feuille de calcul Microsoft Excel qui n’est pas disponible comme méthode d’objet application , procédez comme suit :
  1. Dans Visual Basic Editor, tapez le nom de la fonction ou de l’opérateur dans le Compagnon Office, puis cliquez sur Rechercher. Par exemple, tapez Mod.
  2. Dans la liste des rubriques, cliquez sur la rubrique de la fonction ou de l’opérateur. Par exemple, cliquez sur la rubrique de l' opérateur mod .
Le tableau suivant contient des fonctions de feuille de calcul qui ne sont pas disponibles comme méthodes de l’objet application . La colonne équivalente Visual Basic recense les fonctions que vous pouvez utiliser pour obtenir des résultats identiques aux résultats (ou similaires aux) renvoyés par les fonctions.
   Microsoft Excel                   Visual Basic   worksheet function                equivalent   -------------------------------------------------------------------   ABS()                             Abs function   ATAN()                            Atn function   CHAR()                            CHR function   CODE()                            ASC function   COS()                             Cos function   DATE()                            DATESERIAL function   ERROR.TYPE()                      ERR function   EXACT()                           STRCOMP function   EXP()                             Exp function   INDIRECT()                        No direct equivalent - use Range,                                     Cells, Offset, or any other way of                                     referencing cells.   INFO()                            No direct equivalent - use the                                     following:                                     CURDIR function, the following                                     Application properties (MEMORYTOTAL,                                     MEMORYUSED, MEMORYFREE, VERSION,                                     OPERATINGSYSTEM, CALCULATION, COUNT)   ISBLANK()                         ISEMPTY function   ISREF()                           TYPENAME function   LEN()                             LEN function   LOWER()                           LCASE function   N()                               No equivalent (none needed)   NA()                              No equivalent - use                                     ActiveCell.Value = "#N/A"   RAND()                            RND function   RANDOMIZE()                       Randomize function   SIN()                             Sin function   SIGN()                            Sgn function   SQR()                             Sqr function   SQRT()                            Sqr function   T()                               No equivalent (none needed)   TAN()                             Tan function   TODAY()                           DATE function   TRUNC()                           FIX function   TYPE()                            TYPENAME function   UPPER()                           UCASE function   VALUE()                           VAL function 
Remarque: la fonction de feuille de calcul Microsoft Excel et l’opérateur ou la fonction équivalent dans Visual Basic ne sont pas toujours calculés de la même manière et peuvent donner des résultats différents, même s’ils ont le même nom. L’utilisation de la fonction ou de l’opérateur équivalent dans Visual Basic est préférable pour les calculs plus rapide et plus flexible. Par ailleurs, l’opérateur ou la fonction Visual Basic est disponible pour toutes les applications qui utilisent Microsoft Visual Basic pour applications. bien que nous vous recommandons d’utiliser les opérateurs ou fonctions Visual Basic figurant dans la liste ci-dessus, il existe d’autres méthodes pour utiliser les fonctions de feuille de calcul dans une macro Visual Basic, si nécessaire. Par exemple, vous pouvez utiliser la feuille de calcul atan dans votre macro Visual Basic en utilisant les fonctions ExecuteExcel4Macro ou Evaluate :
   x = Application.ExecuteExcel4Macro("Atan(12)") 
- ou -
   x = Application.Evaluate("Atan(12)")