Il existe de nombreuses façons d'utiliser les fonctions dans VBA. VBA est livré avec de nombreuses fonctions intégrées. Vous pouvez même créer vos propres fonctions (UDF). Cependant, vous pouvez également utiliser de nombreuses fonctions d'Excel dans VBA en utilisant Application.WorksheetFunction.
Comment utiliser les fonctions de feuille de calcul dans VBA
Pour accéder à une fonction Excel dans VBA, ajoutez Application.WorksheetFunction devant la fonction que vous souhaitez appeler. Dans l'exemple ci-dessous, nous appellerons la fonction Max d'Excel :
12 | Dim maxvalue aussi longtempsmaxvalue = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value) |
La syntaxe des fonctions est la même, mais vous entrerez les arguments de la fonction comme vous le feriez pour n'importe quelle autre fonction VBA.
Notez que la syntaxe de la fonction Max apparaît lorsque vous tapez (comme avec les fonctions VBA) :
Méthode WorksheetFunction
WorksheetFunction est une méthode d'objet Application. Il vous permet d'accéder à de nombreuses fonctions (pas toutes) des feuilles de calcul Excel standard. En règle générale, vous n'aurez accès à aucune fonction de feuille de calcul ayant une version VBA correspondante.
Vous pouvez voir une liste de plusieurs des fonctions de feuille de calcul les plus courantes ci-dessous.
Application.WorksheetFunction vs Application
Il existe en fait deux manières d'accéder à ces fonctions :
Application.WorksheetFunction (comme vu ci-dessus) :
1 | maxvalue = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value) |
ou vous pouvez omettre la WorksheetFunction
1 | valeur max = Application.Max(Plage("a1").Valeur, Plage("a2").Valeur) |
Malheureusement, l'omission de la WorksheetFunction éliminera l'Intellisense qui affiche la syntaxe (voir l'image ci-dessus). Cependant, il a un gros avantage potentiel : La gestion des erreurs.
Si vous utilisez Application et que votre fonction génère une erreur, elle renverra la valeur d'erreur. Si vous utilisez la méthode WorksheetFunction, VBA génère une erreur d'exécution. Bien sûr, vous pouvez gérer l'erreur VBA, mais il est généralement préférable d'éviter l'erreur en premier lieu.
Regardons un exemple pour voir la différence :
Gestion des erreurs Vlookup WorksheetFunction
Nous essaierons d'effectuer une recherche V qui n'aboutira pas à une correspondance. Ainsi, la fonction Vlookup renverra une erreur.
Tout d'abord, nous allons utiliser la méthode WorksheetFunction. Remarquez comment VBA renvoie une erreur :
Ensuite, nous omettons la WorksheetFunction. Remarquez comment le
Ensuite, nous omettrons la WorksheetFunction. Notez qu'aucune erreur n'est renvoyée et qu'à la place, la fonction 'value' contient la valeur d'erreur de Vlookup.
Liste des fonctions de la feuille de calcul VBA
Vous trouverez ci-dessous une liste de la plupart des fonctions courantes de feuille de travail VBA.
Fonction | La description |
---|---|
Logique | |
ET | Vérifie si toutes les conditions sont remplies. VRAI FAUX |
SI | Si la condition est remplie, faites quelque chose, sinon, faites autre chose. |
SIERREUR | Si le résultat est une erreur, faites autre chose. |
OU | Vérifie si des conditions sont remplies. VRAI FAUX |
Recherche et référence | |
CHOISIR | Choisit une valeur dans une liste en fonction de son numéro de position. |
RECHERCHEH | Recherchez une valeur dans la première ligne et retournez une valeur. |
INDICE | Renvoie une valeur en fonction de ses numéros de colonne et de ligne. |
CHERCHER | Recherche les valeurs horizontalement ou verticalement. |
RENCONTRE | Recherche une valeur dans une liste et renvoie sa position. |
TRANSPOSER | Inverse l'orientation d'une plage de cellules. |
RECHERCHEV | Recherchez une valeur dans la première colonne et retournez une valeur. |
Date et heure | |
DATE | Renvoie une date à partir de l'année, du mois et du jour. |
DATEVALEUR | Convertit une date stockée sous forme de texte en une date valide |
JOURNÉE | Renvoie le jour sous forme de nombre (1-31). |
JOURS360 | Renvoie les jours entre 2 dates dans une année de 360 jours. |
EDITER | Renvoie une date à n mois d'une date de début. |
MOIS | Renvoie le dernier jour du mois, date à n mois. |
HEURE | Renvoie l'heure sous forme de nombre (0-23). |
MINUTE | Renvoie la minute sous forme de nombre (0-59). |
MOIS | Renvoie le mois sous forme de nombre (1-12). |
JOURS DE RÉSEAU | Nombre de jours ouvrés entre 2 dates. |
NETWORKDAYS.INTL | Jours ouvrés entre 2 dates, week-ends personnalisés. |
MAINTENANT | Renvoie la date et l'heure actuelles. |
SECONDE | Renvoie la seconde sous forme de nombre (0-59) |
TEMPS | Renvoie l'heure à partir d'une heure, d'une minute et d'une seconde. |
VALEUR DE TEMPS | Convertit une heure stockée sous forme de texte en une heure valide. |
JOUR DE LA SEMAINE | Renvoie le jour de la semaine sous forme de nombre (1-7). |
NUMERO SEMAINE | Renvoie le numéro de la semaine dans une année (1-52). |
JOURNÉE DE TRAVAIL | La date n jours ouvrés à partir d'une date. |
ANNÉE | Renvoie l'année. |
ANNÉEFRAC | Renvoie la fraction d'année entre 2 dates. |
Ingénierie | |
CONVERTIR | Convertir un nombre d'une unité à une autre. |
Financier | |
VF | Calcule la valeur future. |
PV | Calcule la valeur actuelle. |
NPER | Calcule le nombre total de périodes de paiement. |
PMT | Calcule le montant du paiement. |
TAUX | Calcule le taux d'intérêt. |
VAN | Calcule la valeur actuelle nette. |
TRI | Le taux de rendement interne pour un ensemble de FC périodiques. |
XIRR | Le taux de rendement interne pour un ensemble de FC non périodiques. |
LE PRIX | Calcule le prix d'une obligation. |
INTÉRER | Le taux d'intérêt d'un titre entièrement investi. |
Informations | |
ISERR | Teste si la valeur de la cellule est une erreur, ignore #N/A. VRAI FAUX |
ERREUR | Testez si la valeur de la cellule est une erreur. VRAI FAUX |
EST MÊME | Testez si la valeur de la cellule est paire. VRAI FAUX |
ISLOGIQUE | Testez si la cellule est logique (VRAI ou FAUX). VRAI FAUX |
ISNA | Testez si la valeur de la cellule est #N/A. VRAI FAUX |
N'EST PAS TEXTE | Testez si la cellule n'est pas du texte (les cellules vides ne sont pas du texte). VRAI FAUX |
ISNUMBER | Teste si la cellule est un nombre. VRAI FAUX |
EST IMPAIR | Testez si la valeur de la cellule est impaire. VRAI FAUX |
ISTEXT | Testez si la cellule est du texte. VRAI FAUX |
TAPER | Renvoie le type de valeur dans une cellule. |
Math | |
abdos | Calcule la valeur absolue d'un nombre. |
AGRÉGAT | Définir et effectuer des calculs pour une base de données ou une liste. |
PLAFOND | Arrondit un nombre au multiple spécifié le plus proche. |
COS | Renvoie le cosinus d'un angle. |
DEGRÉS | Convertit les radians en degrés. |
DSUM | Additionne les enregistrements de la base de données qui répondent à certains critères. |
MÊME | Arrondit à l'entier pair le plus proche. |
EXP | Calcule la valeur exponentielle d'un nombre donné. |
FAIT | Renvoie la factorielle. |
SOL | Arrondit un nombre à l'inférieur, au multiple spécifié le plus proche. |
PGCD | Renvoie le plus grand diviseur commun. |
INT | Arrondit un nombre à l'entier inférieur le plus proche. |
LCM | Renvoie le plus petit commun multiple. |
LN | Renvoie le logarithme népérien d'un nombre. |
JOURNAL | Renvoie le logarithme d'un nombre dans une base spécifiée. |
LOG10 | Renvoie le logarithme en base 10 d'un nombre. |
RONDE | Arrondit un nombre à un multiple spécifié. |
IMPAIR | Arrondit à l'entier impair le plus proche. |
PI | La valeur de PI. |
PUISSANCE | Calcule un nombre élevé à une puissance. |
PRODUIT | Multiplie un tableau de nombres. |
QUOTIENT | Renvoie le résultat entier de la division. |
RADIENS | Convertit un angle en radians. |
ALERTE ENTRE | Calcule un nombre aléatoire entre deux nombres. |
TOUR | Arrondit un nombre à un nombre spécifié de chiffres. |
ARRONDIR VERS LE BAS | Arrondit un nombre vers le bas (vers zéro). |
RASSEMBLEMENT | Arrondit un nombre vers le haut (loin de zéro). |
PÉCHÉ | Renvoie le sinus d'un angle. |
TOTAL | Renvoie une statistique récapitulative pour une série de données. |
SOMME | Additionne des nombres. |
SOMMEIF | Somme des nombres qui répondent à un critère. |
SOMMES | Somme des nombres qui répondent à plusieurs critères. |
SOMMEPRODUIT | Multiplie des tableaux de nombres et additionne le tableau résultant. |
BRONZER | Renvoie la tangente d'un angle. |
Statistiques | |
MOYENNE | Moyenne des nombres. |
MOYENIF | Fait la moyenne des nombres qui répondent à un critère. |
MOYENNES | Fait la moyenne des nombres qui répondent à plusieurs critères. |
CORREL | Calcule la corrélation de deux séries. |
COMPTER | Compte les cellules qui contiennent un nombre. |
COUNTA | Comptez les cellules qui ne sont pas vides. |
COUNTVIDE | Compte les cellules vides. |
COUNTIF | Compte les cellules qui répondent à un critère. |
COUNTIFS | Compte les cellules qui répondent à plusieurs critères. |
PRÉVISION | Prédisez les futures valeurs y à partir de la ligne de tendance linéaire. |
LA FRÉQUENCE | Compte les valeurs comprises dans les plages spécifiées. |
CROISSANCE | Calcule les valeurs Y en fonction d'une croissance exponentielle. |
INTERCEPTER | Calcule l'interception Y pour une ligne de meilleur ajustement. |
GRAND | Renvoie la kième plus grande valeur. |
LIGNE | Renvoie des statistiques sur une ligne de tendance. |
MAXIMUM | Renvoie le plus grand nombre. |
MÉDIAN | Renvoie le nombre médian. |
MIN | Renvoie le plus petit nombre. |
MODE | Renvoie le nombre le plus courant. |
CENTILE | Renvoie le kième centile. |
PERCENTILE.INC | Renvoie le kième centile. Où k est inclusif. |
POURCENTILE.EXC | Renvoie le kième centile. Où k est exclusif. |
QUARTILE | Renvoie la valeur de quartile spécifiée. |
QUARTILE.INC | Renvoie la valeur de quartile spécifiée. Compris. |
QUARTILE.EXC | Renvoie la valeur de quartile spécifiée. Exclusif. |
RANG | Rang d'un nombre dans une série. |
RANG.MOY | Rang d'un nombre dans une série. Moyennes. |
RANG.EQ | Rang d'un nombre dans une série. Faire une blague. |
PENTE | Calcule la pente à partir de la régression linéaire. |
PETIT | Renvoie la kième plus petite valeur. |
STDEV | Calcule l'écart type. |
STDEV.P | Calcule l'écart-type d'une population entière. |
STDEV.S | Calcule le SD d'un échantillon. |
STDEVP | Calcule l'écart-type d'une population entière |
TENDANCE | Calcule les valeurs Y en fonction d'une ligne de tendance. |
Texte | |
NETTOYER | Supprime tous les caractères non imprimables. |
DOLLAR | Convertit un nombre en texte au format monétaire. |
TROUVE | Localise la position du texte dans une cellule. Sensible à la casse. |
LA GAUCHE | Tronque le texte d'un certain nombre de caractères à partir de la gauche. |
LEN | Compte le nombre de caractères dans le texte. |
MILIEU | Extrait le texte du milieu d'une cellule. |
CORRECT | Convertit le texte en casse appropriée. |
REMPLACER | Remplace le texte en fonction de son emplacement. |
REPT | Répète le texte un certain nombre de fois. |
DROIT | Tronque le texte d'un certain nombre de caractères à partir de la droite. |
CHERCHER | Localise la position du texte dans une cellule. Non sensible à la casse. |
REMPLACER | Recherche et remplace du texte. Sensible aux majuscules et minuscules. |
TEXTE | Convertit une valeur en texte avec un format de nombre spécifique. |
GARNITURE | Supprime tous les espaces supplémentaires du texte. |