VBA – Comment Utiliser les Fonctions des Feuilles de Calcul (et une Liste Complète)

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on avril 28, 2023

Il existe de nombreuses façons d’utiliser les fonctions en VBA. VBA est livré avec de nombreuses fonctions intégrées. Vous pouvez même créer vos propres fonctions (parfois appelées « UDF » de l’anglais : user defined function). Cependant, vous pouvez également utiliser de nombreuses fonctions de feuilles de calul Excel à partir de VBA en utilisant Application.WorksheetFunction.

Comment Utiliser les Fonctions de Feuille de Calcul en VBA

Pour accéder à une fonction Excel en VBA, ajoutez Application.WorksheetFunction devant la fonction que vous souhaitez appeler. Dans l’exemple ci-dessous, nous appellerons la fonction Max d’Excel :

Dim valeurmax as long
valeurmax = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value)

La syntaxe des fonctions est la même, mais vous devez entrer les arguments de la fonction comme vous le feriez pour n’importe quelle autre fonction VBA. Il est important de noter que les noms anglais des fonctions de feuille de calcul doivent être utilisé en VBA.

Notez que la syntaxe de la fonction Max apparaît lorsque vous tapez (comme pour les fonctions VBA) :

vba worksheetfunction

Méthode WorksheetFunction

WorksheetFunction est une méthode de l’objet Application. Elle vous permet d’accéder à de nombreuses (mais pas toutes) fonctions standard de feuille de calcul Excel. En général, vous n’aurez pas accès aux fonctions de feuille de calcul qui ont une version VBA correspondante.

Vous trouverez ci-dessous une liste des fonctions de feuille de calcul les plus courantes.

Application.WorksheetFunction et Application

Il existe en fait deux façons d’accéder à ces fonctions :

Application.WorksheetFunction (comme indiqué ci-dessus) :

valeurmax = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value)

ou vous pouvez omettre la fonction WorksheetFunction

valeurmax = Application.Max(Range("a1").Value, Range("a2").Value)

Malheureusement, l’omission de la fonction WorksheetFunction élimine l’Intellisense qui affiche la syntaxe (voir l’image ci-dessus). Toutefois, cette solution présente un avantage potentiel important : La Gestion des Erreurs.

Si vous utilisez Application et que votre fonction génère une erreur, elle renverra la valeur de l’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 dès le départ.

Voyons un exemple pour comprendre la différence :

Gestion des Erreurs avec les Fonction de Feuille de Calcul RechercheV

Nous allons tenter d’effectuer une RechercheV (en anglais : VLookup) qui n’aboutira pas à une correspondance. La fonction RechercheV renverra donc une erreur.

Tout d’abord, nous utiliserons la méthode WorksheetFunction. Remarquez que VBA renvoie une erreur :

Ensuite, nous omettons la méthode WorksheetFunction. Remarquez que la méthode

exemple erreur execution fonction feuille calcul worksheetfunction

Ensuite, nous allons omettre la fonction WorksheetFunction. Remarquez qu’aucune erreur n’est déclenchée et que la variable « valeur » contient la valeur de l’erreur provenant de la fonction RechercheV.

exemple execution fonction feuille calcul sans worksheetfunction

Liste des Fonctions de Feuille de Calcul VBA

Vous trouverez ci-dessous une liste des fonctions de feuille de calcul VBA les plus courantes.

FonctionDescription
Opérateurs Logiques
ANDVérifie si toutes les conditions sont remplies. VRAI/FAUX
IFSi la condition est remplie, faire quelque chose, sinon, faire autre chose.
IFERRORSi le résultat est une erreur, alors faire autre chose.
ORVérifie si au moins une des conditions est remplie. VRAI/FAUX
Recherche et Références
CHOOSEChoisit une valeur dans une liste en fonction de son numéro de position.
HLOOKUPRecherche une valeur dans la première ligne et renvoie une valeur.
INDEXRenvoie une valeur basée sur les numéros de colonne et de ligne.
LOOKUPRecherche des valeurs horizontalement ou verticalement.
MATCHRecherche une valeur dans une liste et renvoie sa position.
TRANSPOSERenverse l'orientation d'une plage de cellules.
VLOOKUPRecherche une valeur dans la première colonne et renvoie une valeur.
Date et Heure
DATERenvoie une date à partir de l'année, du mois et du jour.
DATEVALUEConvertit une date stockée sous forme de texte en une valeur de date valide
DAYRenvoie le jour sous forme de nombre (1-31).
DAYS360Retourne les jours entre 2 dates dans une année de 360 jours.
EDATERenvoie une date à n mois d'une date de début.
EOMONTHRenvoie le dernier jour du mois, à n mois de la date.
HOURRenvoie l'heure sous forme de nombre (0-23).
MINUTERenvoie les minutes sous forme de nombre (0-59).
MONTHRenvoie le mois sous la forme d'un nombre (1-12).
NETWORKDAYSNombre de jours ouvrables entre 2 dates.
NETWORKDAYS.INTLJours ouvrables entre 2 dates, week-ends personnalisés.
NOWRenvoie la date et l'heure actuelle.
SECONDRenvoie les secondes sous forme de nombre (0-59)
TIMERenvoie une valeur d'heure à partir des heures, minutes et secondes.
TIMEVALUEConvertit une heure stockée sous forme de texte en une valeur d'heure valide.
WEEKDAYRenvoie le jour de la semaine sous la forme d'un nombre (1-7).
WEEKNUMRenvoie le numéro de la semaine dans une année (1-52).
WORKDAYLa date n jours ouvrables à partir d'une date.
YEARRenvoie l'année.
YEARFRACRenvoie les années entre 2 dates sous forme de fraction.
Ingénierie
CONVERTConvertit un nombre d'une unité à une autre.
Finances
FVCalcule la valeur future.
PVCalcule la valeur actualisée.
NPERCalcule le nombre total de périodes de paiement.
PMTCalcule le montant du paiement.
RATECalcule le taux d'intérêt.
NPVCalcule la valeur actualisée nette.
IRRLe taux de rendement interne d'un ensemble de CF périodiques (flux de trésorerie).
XIRRLe taux de rendement interne pour un ensemble de CF non périodiques (flux de trésorerie).
PRICECalcule le prix d'une obligation.
INTRATELe taux d'intérêt d'un titre entièrement investi.
Information
ISERRTeste si la valeur de la cellule est une erreur, ignore les #N/A. VRAI/FAUX
ISERRORTeste si la valeur de la cellule est une erreur. VRAI/FAUX
ISEVENTeste si la valeur de la cellule est paire. VRAI/FAUX
ISLOGICALTeste si la cellule est logique (VRAI ou FAUX). VRAI/FAUX
ISNATeste si la valeur de la cellule est #N/A. VRAI/FAUX
ISNONTEXTTeste si la cellule n'est pas du texte (les cellules vides ne sont pas du texte). VRAI/FAUX
ISNUMBERTeste si la cellule est un nombre. VRAI/FAUX
ISODDTeste si la valeur de la cellule est impaire. VRAI/FAUX
ISTEXTTeste si la cellule est du texte. VRAI/FAUX
TYPERenvoie le type de valeur dans une cellule.
Mathématiques
ABSCalcule la valeur absolue d'un nombre.
AGGREGATEDéfinit et effectue des calculs pour une base de données ou une liste.
CEILINGarrondit un nombre au multiple spécifié le plus proche.
COSRenvoie le cosinus d'un angle.
DEGREESConvertit des radians en degrés.
DSUMAdditionne les enregistrements de la base de données qui répondent à certains critères.
EVENArrondit à l'entier pair le plus proche.
EXPCalcule la valeur exponentielle d'un nombre donné.
FACTRenvoie la factorielle.
FLOORArrondit un nombre vers le bas, au multiple spécifié le plus proche.
GCDRenvoie le plus grand dénominateur commun.
INTArrondit un nombre à l'entier le plus proche.
LCMRenvoie le plus petit multiple commun.
LNRenvoie le logarithme naturel d'un nombre.
LOGRenvoie le logarithme d'un nombre dans la base spécifiée.
LOG10Renvoie le logarithme en base 10 d'un nombre.
MROUNDArrondit un nombre à un multiple spécifié.
ODDArrondit à l'entier impair le plus proche.
PIRetourne la valeur de PI
POWERCalcule un nombre élevé à une puissance.
PRODUCTMultiplie un tableau de nombres.
QUOTIENTRenvoie la valeur entière du résultat de la division.
RADIANSConvertit un angle en radians.
RANDBETWEENCalcule un nombre aléatoire entre deux nombres.
ROUNDArrondit un nombre au nombre de chiffres spécifié.
ROUNDDOWNArrondit un nombre vers le bas (vers zéro).
ROUNDUPArrondit un nombre vers le haut (en s'éloignant de zéro).
SINRenvoie le sinus d'un angle.
SUBTOTALRenvoie une statistique de synthèse pour une série de données.
SUMAdditionne les nombres.
SUMIFAdditionne les nombres qui répondent à un critère.
SUMIFSAdditionne les nombres qui répondent à plusieurs critères.
SUMPRODUCTMultiplie des tableaux de nombres et additionne le tableau résultant.
TANRenvoie la tangente d'un angle.
Statistiques
AVERAGERetourne la valeur moyenne des nombres spécifiés.
AVERAGEIFFait la moyenne des nombres qui répondent à un critère.
AVERAGEIFSAverages numbers that meet multiple criteria.
CORRELFait la moyenne des nombres qui répondent à plusieurs critères.
COUNTCompte les cellules qui contiennent un nombre.
COUNTACompte les cellules qui ne sont pas vides.
COUNTBLANKCompte les cellules qui sont vides.
COUNTIFCompte les cellules qui répondent à un critère.
COUNTIFSCompte les cellules qui répondent à plusieurs critères.
FORECASTPrévoit les valeurs y futures à partir de la fonction de régression linéaire.
FREQUENCYCompte les valeurs qui se situent dans les plages spécifiées.
GROWTHCalcule les valeurs Y sur la base d'une croissance exponentielle.
INTERCEPTCalcule l'ordonnée à l'origine d'une droite de meilleur ajustement.
LARGERenvoie la Kième valeur la plus élevée.
LINESTRenvoie des statistiques sur une droite de tendance.
MAXRenvoie le plus grand nombre.
MEDIANRenvoie le nombre médian.
MINRenvoie le plus petit nombre.
MODERenvoie le nombre le plus fréquent.
PERCENTILERenvoie le Kième percentile.
PERCENTILE.INCRenvoie le Kième percentile. Où k est inclusif.
PERCENTILE.EXCRenvoie le Kième percentile. Où k est exclusif.
QUARTILERenvoie la valeur du quartile spécifié.
QUARTILE.INCRenvoie la valeur du quartile spécifié. Inclusif.
QUARTILE.EXCRenvoie la valeur du quartile spécifié. Exclusif.
RANKRang d'un nombre dans une série.
RANK.AVGRang d'un nombre dans une série. Moyennes.
RANK.EQRang d'un nombre dans une série. Premier rang.
SLOPECalcule la pente d'une régression linéaire.
SMALLRenvoie la Kième valeur la plus petite.
STDEVCalcule l'écart-type.
STDEV.PCalcule l'écart-type d'une population entière.
STDEV.SCalcule l'écart-type d'un échantillon.
STDEVPCalcule l'écart-type d'une population entière
TRENDCalcule les valeurs Y sur la base d'une ligne de tendance.
Texte
CLEANSupprime tous les caractères non imprimables.
DOLLARConvertit un nombre en texte au format monétaire.
FINDLocalise la position du texte dans une cellule.
LEFTTronque le texte d'un certain nombre de caractères à partir de la gauche.
LENCompte le nombre de caractères dans le texte.
MIDExtrait le texte du milieu d'une cellule.
PROPERConvertit la casse du texte en nom propre.
REPLACERemplace le texte en fonction de son emplacement.
REPTRépéter le texte un certain nombre de fois.
RIGHTTronque le texte d'un certain nombre de caractères à partir de la droite.
SEARCHLocalise la position du texte dans une cellule. Ne tient pas compte de la casse.
SUBSTITUTERecherche et remplace du texte. Sensible à la casse.
TEXTConvertit une valeur en texte avec un format numérique spécifique.
TRIMSupprime tous les espaces superflus du texte.
vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA