Certaines 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 Microsoft Excel 97 ou une version antérieure ou Microsoft Excel 98 Macintosh ou une version antérieure de cet article, reportez-vous à 107564 .

Résumé

Dans Microsoft Visual Basic pour Applications, certaines 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 une de ces fonctions de feuille de calcul avec l’objet Application, le message d’erreur suivant s’affiche :

Remarque

Run-Time erreur « 438 » :
Cet objet ne gère pas 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 disponibles pour les procédures Visual Basic se trouvent dans l’objet Application et sont répertoriées dans le
Liste de méthodes ou de 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 en tant que méthodes de la
Les objets d’application ont un opérateur ou une fonction intégré Microsoft Visual Basic équivalent. 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 en tant que méthodes dans Visual Basic

REMARQUE : les étapes suivantes 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 en tant que méthodes de l’objet Application dans Visual Basic, procédez comme suit :

  1. Dans Visual Basic Editor, tapez worksheet functions dans le Microsoft Office Assistant, puis cliquez sur Rechercher.

  2. Dans la liste des rubriques, cliquez sur Liste des fonctions de feuille de calcul disponibles pour Visual Basic.

Pour rechercher l’opérateur Visual Basic équivalent ou la fonction d’une fonction de feuille de calcul Microsoft Excel qui n’est pas disponible en tant que méthode 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 Opérateur de mod.

Le tableau suivant contient les fonctions de feuille de calcul qui ne sont pas disponibles en tant que méthodes de l’objet Application. La colonne Équivalent Visual Basic répertorie les fonctions que vous pouvez utiliser et qui produisent des résultats identiques (ou similaires) aux résultats retournés par les fonctions.

   Microsoft Excel Visual Basic
   équivalent à une fonction de feuille de calcul
   -------------------------------------------------------------------
   ABS() Fonction Abs
   ATAN() Fonction Atn
   CHAR() Fonction CHR
   ASC CODE()
   COS() Fonction Cos
   DATE() DATESERIAL
   ERREUR. TYPE() ERR
   EXACT() STRCOMP
   EXP() Fonction Exp
   INDIRECT() Pas d’équivalent direct - use Range,
                                     Cellules, décalage ou toute autre manière de
                                     référence à des cellules.
   INFO() Pas d’équivalent direct - utilisez le modèle
                                     ce qui suit :
                                     CURDIR, fonction
                                     Propriétés de l’application (MEMORYTOTAL,
                                     MEMORYUSED, MEMORYFREE, VERSION,
                                     OPERATINGSYSTEM, CALCULATION, COUNT)
   ESTVIDE() ESTVIDE
   TYPENAME ISREF()
   LEN() LEN
   LOWER() LCASE
   N() Pas d’équivalent (aucun nécessaire)
   NA() Pas d’équivalent - utilisation
                                     ActiveCell.Value = « #N/A »
   Fonction RND ALE()
   RANDOMIZE() Fonction Randomize
   SIN() Fonction Sin
   SIGN() Fonction Sgn
   SQR() Fonction Sqr
   SQRT() Fonction Sqr
   T() Pas d’équivalent (aucun nécessaire)
   TAN() Fonction Tan
   TODAY() DATE
   TRUNC() FIXE
   TYPE() TYPENAME
   Fonction UCASE MAJUSCULE()
   VALEUR() VAL
 REMARQUE : la fonction de feuille de calcul Microsoft Excel et l’opérateur ou la fonction équivalente Visual Basic ne sont pas toujours calculés de la même façon et peuvent donner des résultats différents, même s’ils portent le même nom.

L’utilisation de l’opérateur ou de la fonction équivalente Visual Basic est préférable pour augmenter la vitesse et la flexibilité des calculs. En outre, l’opérateur ou la fonction Visual Basic est disponible pour toutes les applications qui utilisent Microsoft Visual Basic pour Applications.

Bien qu’il soit recommandé d’utiliser les opérateurs ou fonctions Visual Basic répertoriés 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 à l’aide des fonctions ExecuteExcel4Macro ou Evaluate :

   x = Application.ExecuteExcel4Macro(« Atan(12) »)
     -ou-

   x = Application.Evaluate(« Atan(12) »)