Voici la liste complète des fonctions VBA. Il s'agit de la liste alphabétique que vous pouvez également trier par catégorie. Cette liste reprend les fonctions qui se trouvent dans le VBA "de base" et ne contient donc pas des fonctions spécifiques qui peuvent faire partie de différentes Références
.
Pour chacune de ces fonctions, vous trouverez dans la liste son nom, la catégorie à laquelle elle appartient, sa description et éventuellement le tutoriel Excel-Malin s'il est disponible. Il s'agit d'une liste exhaustive qui contient l'information sur les 133 fonctions disponibles en VBA – à un seul endroit…
Astuce: N'hésitez pas à utiliser la fonction "Rechercher" (à droite, juste au-dessus de la table) pour un accès immédiat à la fonction que vous cherchez (la recherche se fait non seulement dans les noms des fonctions mais également dans leur description – vous pouvez donc rechercher un terme particulier qui vous intéresse. Exemples: "cosinus", "intérêt").
Il est aussi possible de trier le tableau des fonctions selon différents critères.
Ceci pourrait également vous intéresser: la liste complète des fonctions Excel
Vous trouverez cette liste avec des informations supplémentaires dans l’e-book PDF “Référentiel malin – VBA” qui contient également tous les Événements, toutes les Instructions et tous les Opérateurs disponibles en VBA…
(Source des informations: Microsoft.com)
Liste complète des 133 fonctions VBA
Fonction VBA | Catégorie | Description |
---|---|---|
Abs | Math / Trigonométrie | Retourne la valeur absolue d'un nombre spécifié. |
And | Logique | Renvoie la valeur TRUE (1) si toutes les expressions logiques fournies sont vraies. Si une des expressions logiques est FALSE ou 0, la fonction et renvoie la valeur FALSE (0). |
Array | Divers | Crée un tableau unidimensionnel et initialise les éléments du tableau avec les valeurs que vous fournissez. Cette fonction est utile pour créer rapidement des tableaux sans avoir à les dimensionner et les remplir élément par élément. |
Asc / AscW | Texte | Retourne une valeur de type Integer qui représente le code de caractère correspondant à un caractère. |
Atn | Math / Trigonométrie | Retourne une valeur Double contenant l'angle dont la tangente est le nombre spécifié. |
CBool | Conversion du type des données | Retourne une valeur de type Boolean (Vrai / Faux) |
CByte | Conversion du type des données | Retourne une valeur de type Byte |
CCur | Conversion du type des données | Convertit l'expression en valeur de type Currency |
CDate | Conversion du type des données | Retourne une valeur de type Date |
CDbl | Conversion du type des données | Retourne une valeur de type Double |
CDec | Conversion du type des données | Retourne une valeur de type Decimal |
ChDir | Fichiers / Dossiers | Change le répertoire ou le dossier en cours |
ChDrive | Fichiers / Dossiers | Change le lecteur actif |
Choose | Recherche / référencement | Sélectionne et retourne une valeur à partir d'une liste d'arguments |
Chr / ChrW | Texte | Retourne le caractère associé au code de caractère spécifié |
CInt | Conversion du type des données | Retourne une valeur de type Integer |
CLng | Conversion du type des données | Retourne une valeur de type Long |
Cos | Math / Trigonométrie | Retourne une valeur Double contenant le cosinus de l'angle spécifié. |
CSng | Conversion du type des données | Retourne une valeur de type Single |
CStr | Conversion du type des données | Retourne une valeur de type String |
CurDir | Fichiers / Dossiers | Retourne une chaîne représentant le chemin d'accès en cours |
CVar | Conversion du type des données | Convertit une expression donnée en type de données Variant. Cette fonction est particulièrement utile lorsque vous travaillez avec des données dont le type peut changer pendant l'exécution du programme. |
Date | Date / Temps | Retourne la date spécifiée au format Datetime avec le jour, le mois et l'année donnés |
DateAdd ( détail ) | Date / Temps | Retourne une valeur Date contenant une valeur de date et d'heure auxquelles un intervalle de temps spécifié a été ajouté |
DateDiff ( détail ) | Date / Temps | Retourne une valeur de type Long spécifiant le nombre d'intervalles de temps entre deux valeurs Date |
DatePart | Date / Temps | Retourne une valeur de type Integer contenant le composant spécifié d'une valeur Date donnée |
DateSerial | Date / Temps | Retourne une valeur Date représentant une année, un mois et un jour spécifiés, l'indication d'heure ayant la valeur minuit (00:00:00) |
DateValue | Date / Temps | Retourne une valeur Date contenant l'indication de date représentée par une chaîne, l'indication d'heure ayant la valeur minuit (00:00:00) |
Day | Date / Temps | Retourne une valeur Integer comprise entre 1 et 31 représentant le jour du mois |
DDB | Finance | Retourne une valeur Double indiquant la valeur d'amortissement d'un bien sur une période déterminée en utilisant la méthode d'amortissement dégressif à taux double ou toute autre méthode spécifiée |
Dir ( détail ) | Fichiers / Dossiers | Retourne une chaîne représentant le nom d'un fichier, d'un répertoire ou d'un dossier qui correspond à un modèle ou un attribut de fichier spécifié ou à l'étiquette de volume d'un lecteur |
DoEvents ( détail ) | Divers | Permet à Excel de traiter d'autres événements pendant l'exécution d'une macro. Elle est particulièrement utile pour garder l'interface utilisateur réactive lors de l'exécution de macros longues ou complexes. |
Environ ( détail ) | Information | Retourne la chaîne associée à une variable d'environnement de système d'exploitation |
EOF | Fichiers / Dossiers | Retourne une valeur Boolean True lorsque la fin d'un fichier ouvert en mode Random ou Input séquentiel est atteinte |
Exp | Math / Trigonométrie | Retourne une valeur Double contenant e (base des logarithmes népériens) élevé à la puissance spécifiée. |
FileAttr | Fichiers / Dossiers | Retourne une énumération représentant le mode d'ouverture des fichiers avec la fonction FileOpen |
FileCopy | Fichiers / Dossiers | Copie un fichier |
FileDateTime | Fichiers / Dossiers | Retourne une valeur Date qui indique la date et l'heure de création ou de dernière modification d'un fichier |
FileLen | Fichiers / Dossiers | Retourne une valeur Long spécifiant la longueur d'un fichier en octets |
Filter | Divers | Retourne un tableau de base zéro et contenant un sous-ensemble d'un tableau de chaînes (String) basé sur des critères de filtre spécifiés |
Fix | Math / Trigonométrie | Retournent la partie entière d'un nombre |
Format | Formatage | Retourne une chaîne mise en forme conformément aux instructions contenues dans une expression String de format |
FormatCurrency | Formatage | Retourne une expression sous forme de valeur monétaire utilisant le symbole monétaire défini dans le Panneau de configuration du système |
FormatDateTime | Formatage | Retourne une expression de chaîne représentant une valeur de date/d'heure |
FormatNumber | Formatage | Retourne une expression sous forme de nombre |
FormatPercent | Formatage | Retourne une expression formatée sous forme de pourcentage (c'est-à-dire multipliée par 100) avec un caractère de fin % |
FreeFile | Fichiers / Dossiers | Retourne une valeur de type Integer représentant le prochain numéro de fichier disponible pouvant être utilisé par la fonction FileOpen |
FV | Finance | Retourne une valeur de type Double indiquant le futur montant d'une annuité basée sur des versements constants et périodiques et sur un taux d'intérêt fixe |
GetAttr | Fichiers / Dossiers | Indique les attributs de fichier à utiliser lors de l'appel de fonctions d'accès aux fichiers |
Hex | Conversion du type des données | Retourne une chaîne représentant la valeur hexadécimale d'un nombre. |
Hour | Date / Temps | Retourne une valeur Integer comprise entre 0 et 23 qui représente l'heure du jour |
If-Then-Else | Logique | Exécute un groupe d'instructions soumises à une condition, en fonction de la valeur d'une expression |
InputBox | Divers | Affiche une invite dans une boîte de dialogue, attend que l'utilisateur tape du texte ou clique sur un bouton, puis retourne le contenu de la zone de texte sous la forme d'une chaîne |
InStr ( détail ) | Texte | Retourne un entier spécifiant la position de début de la première occurrence d'une chaîne à l'intérieur d'une autre |
InStrRev ( détail ) | Texte | Retourne la position de la première occurrence d'une chaîne dans une autre, à partir du côté droit de la chaîne |
Int | Math / Trigonométrie | Retournent la partie entière d'un nombre |
IPmt | Finance | Retourne une valeur de type Double indiquant les intérêts, pour une période donnée, d'une annuité basée sur des versements constants et périodiques et sur un taux d'intérêt fixe |
IRR | Finance | Retourne une donnée de type Double indiquant le taux de rendement interne d'une série de liquidités périodiques (paiements et encaissements) |
IsArray | Information | Retourne une valeur Boolean indiquant si une variable pointe vers un tableau |
IsDate | Information | Retourne une valeur Boolean indiquant si une expression représente une valeur Date valide |
IsEmpty | Information | Retourne une valeur booléenne indiquant si une variable a été initialisée |
IsError | Information | Retourne une valeur Boolean indiquant si une expression est un type d'exception |
IsNothing | Information | Retourne une valeur Boolean indiquant si aucun objet n'est assigné à une expression |
IsNull | Information | Renvoie une valeur booléenne indiquant si une expression ne contient aucune donnée valide |
IsNumeric | Information | Retourne une valeur Boolean indiquant si une expression peut être évaluée comme un nombre |
IsObject | Information | La fonction IsObject vérifie si une expression donnée fait référence à un objet OLE Automation. Elle retourne une valeur booléenne, True si l'expression est un objet et False sinon. Cette fonction est utile pour éviter les erreurs lors de la manipulation d'objets. |
Join | Texte | Retourne une chaîne créée par la jonction de plusieurs sous-chaînes contenues dans un tableau |
Kill | Fichiers / Dossiers | Supprime des fichiers d'un disque |
LBound ( détail ) | Information | Renvoie une valeur Long contenant le plus petit indice disponible pour la dimension indiquée d’un tableau (Array ). |
LCase | Texte | Retourne une chaîne ou un caractère converti en lettres minuscules |
Left | Texte | Retourne une chaîne contenant un nombre spécifié de caractères depuis la partie gauche d'une chaîne |
Len | Texte | Retourne un entier contenant le nombre de caractères contenus dans une chaîne |
Loc | Fichiers / Dossiers | Retourne une valeur Long spécifiant la position de lecture/écriture actuelle dans un fichier ouvert |
LOF | Fichiers / Dossiers | Retourne une valeur de type Long représentant la taille, exprimée en octets, d'un fichier ouvert à l'aide de la fonction FileOpen. |
Log | Math / Trigonométrie | Retourne une valeur Double contenant le logarithme d'un nombre spécifié. Cette méthode est surchargée et peut retourner soit le logarithme népérien (de base e) d'un nombre spécifié, soit le logarithme d'un nombre spécifié dans une base spécifiée. |
LSet | Texte | Aligne à gauche une chaîne de caractères dans une autre chaîne de caractères, en remplissant ou en tronquant la chaîne source pour qu'elle corresponde à la longueur de la chaîne de destination. Cette fonction est utile pour le formatage de texte. |
LTrim | Texte | Retourne une chaîne contenant la copie d'une chaîne spécifiée sans espaces à gauche |
Mid | Texte | Retourne une chaîne contenant un nombre spécifié de caractères d'une chaîne |
Minute | Date / Temps | Retourne une valeur Integer comprise entre 0 et 59 qui représente la minute de l'heure |
MIRR | Finance | Retourne une donnée de type Double indiquant le taux de rendement interne modifié d'une série de liquidités périodiques (paiements et encaissements) |
MkDir | Fichiers / Dossiers | Crée un nouveau répertoire |
Month | Date / Temps | Retourne une valeur Integer comprise entre 1 et 12 représentant le mois de l'année |
MonthName | Date / Temps | Retourne une valeur String contenant le nom du mois spécifié |
MsgBox | Divers | Affiche un message dans une boîte de dialogue, attend que l'utilisateur clique sur un bouton, puis retourne un nombre entier qui indique le bouton choisi par l'utilisateur |
Now | Date / Temps | Renvoie une valeur (Date) spécifiant la date et l'heure actuelles conformément à la date et à l'heure système de votre ordinateur |
NPer | Finance | Retourne un Double spécifiant le nombre d'échéances d'une annuité basée sur des versements constants et périodiques et sur un taux d'intérêt fixe |
NPV | Finance | Retourne une valeur de type Double indiquant la valeur nette actuelle d'un investissement, calculée en fonction d'une série de liquidités périodiques (paiements et encaissements) et d'un taux d'escompte |
Oct | Conversion du type des données | Retourne une chaîne représentant la valeur octale d'un nombre |
Or | Logique | Renvoie la valeur TRUE (1) si une des expressions logiques transmises en tant que paramètres est TRUE |
Partition | Divers | Retourne une chaîne représentant la plage calculée qui contient un nombre |
Pmt | Finance | Retourne une valeur de type Double indiquant le montant d'une annuité basée sur des versements constants et périodiques et sur un taux d'intérêt fixe |
PPmt | Finance | Retourne une valeur de type Double indiquant le remboursement du capital, pour une période donnée, d'une annuité basée sur des versements constants et périodiques et sur un taux d'intérêt fixe |
PV | Finance | Retourne une valeur de type Double indiquant le montant actuel d'une annuité basée sur des échéances futures constantes et périodiques et sur un taux d'intérêt fixe |
QBColor | Divers | Retourne une valeur Integer représentant le code couleur RVB correspondant au numéro de couleurs spécifié |
Randomize | Math / Trigonométrie | Initialise le générateur de nombres aléatoires |
Rate | Finance | Retourne une valeur de type Double indiquant le taux d'intérêt par échéance pour une annuité |
Replace ( détail ) | Texte | Retourne une chaîne dans laquelle une sous-chaîne spécifiée a été remplacée par une autre sous-chaîne, un nombre de fois déterminé |
RGB | Divers | Retourne une valeur Integer représentant une valeur de couleur RVB à partir d'un ensemble de composantes de couleur rouge, vert et bleu |
Right | Texte | Retourne une chaîne contenant un nombre spécifié de caractères depuis la partie droite d'une chaîne |
RmDir | Fichiers / Dossiers | Supprime un répertoire existant |
Rnd | Math / Trigonométrie | Retourne un nombre aléatoire de type Single |
Round | Math / Trigonométrie | Retourne une valeur Double contenant le nombre le plus proche de la valeur spécifiée. Des fonctions d'arrondi supplémentaires sont disponibles en tant que méthodes de type intrinsèque, telles que Round. |
RSet | Texte | La fonction RSet aligne à droite une chaîne de caractères dans une autre chaîne de caractères. Comme LSet, elle remplit ou tronque la chaîne source pour qu'elle corresponde à la longueur de la chaîne de destination. Cette fonction est également utile pour le formatage de texte. |
RTrim | Texte | Retourne une chaîne contenant la copie d'une chaîne spécifiée sans espaces à droite |
SaveSetting | Fichiers / Dossiers | Enregistre ou crée une entrée d'application dans la base de registres de Windows |
Second | Date / Temps | Retourne une valeur Integer comprise entre 0 et 59 qui représente la seconde de la minute |
Seek | Fichiers / Dossiers | Retourne une valeur de type Long spécifiant la position de lecture/écriture actuelle dans un fichier ouvert à l'aide de la fonction FileOpen ou définit la position pour la prochaine opération de lecture/écriture dans un fichier ouvert à l'aide de la fonction FileOpen |
SetAttr | Fichiers / Dossiers | Définit les informations relatives aux attributs d'un fichier |
Sgn | Math / Trigonométrie | Retourne une valeur Integer indiquant le signe d'un nombre. |
Shell | Fichiers / Dossiers | Exécute un programme exécutable et retourne un entier contenant l'ID du processus du programme s'il est toujours en cours d'exécution |
Sin | Math / Trigonométrie | Retourne une valeur Double spécifiant le sinus d'un angle. |
SLN | Finance | Retourne une valeur de type Double indiquant l'amortissement linéaire d'un bien pour une période donnée |
Space | Texte | Retourne une chaîne composée d'un nombre spécifié d'espaces |
Split ( détail ) | Texte | Retourne un tableau à une dimension de base zéro et contenant le nombre spécifié de sous-chaînes |
Sqr | Math / Trigonométrie | Retourne une valeur Double spécifiant la racine carrée d'un nombre. |
Str | Texte | Retourne la représentation String d'un nombre |
StrComp | Texte | Retourne -1, 0 ou 1, à partir du résultat d'une comparaison de chaînes |
StrConv | Texte | Retourne une chaîne convertie comme spécifié |
StrReverse | Texte | Retourne une chaîne dans laquelle l'ordre des caractères d'une chaîne donnée a été inversé |
Switch | Recherche / référencement | Évalue une liste d'expressions et retourne une valeur Object correspondant à la première expression de la liste qui est True |
SYD | Finance | Retourne une valeur de type Double indiquant l'amortissement global d'un bien sur une période donnée |
Tan | Math / Trigonométrie | Retourne une valeur Double contenant la tangente d'un angle. |
Timeserial | Date / Temps | Retourne une valeur Date représentant une heure, une minute et une seconde spécifiées, l'indication de date ayant la valeur 1er janvier de l'année 1 |
Timevalue | Date / Temps | Retourne une valeur Date contenant l'indication d'heure représentée par une chaîne, l'indication de date ayant la valeur 1er janvier de l'année 1 |
Trim ( détail ) | Texte | Retourne une chaîne contenant la copie d'une chaîne spécifiée sans espaces à droite ni à gauche |
TypeName | Conversion du type des données | Retourne une valeur String contenant des informations sur le type de données d'une variable |
UBound ( détail ) | Information | Renvoie une valeur de type Long contenant le plus grand indice disponible pour la dimension indiquée d’un tableau (Array ). |
UCase | Texte | Retourne une chaîne ou un caractère contenant la chaîne spécifiée convertie en majuscules |
Val | Texte | Retourne le nombre contenu dans une chaîne de caractère sous la forme d'une valeur numérique d'un type approprié |
VarType | Conversion du type des données | Retourne une valeur Integer contenant la classification de type de données d'une variable |
Weekday | Date / Temps | Retourne une valeur de type Integer représentant le jour de la semaine |
WeekdayName | Date / Temps | Retourne une valeur de type String contenant le nom du jour de semaine spécifié |
Year | Date / Temps | Retourne une valeur de type Integer comprise entre 1 et 9999 représentant l'année |
Autres composantes VBA en détail
Après la liste des fonctions, voici le même type de listes pour les autres composantes de VBA…
- Liste de tous les Opérateurs VBA (Operators)
- Liste de tous les Événements VBA (Events)
Et n'oubliez pas de consulter le GLOSSAIRE VBA pour maîtriser le sujet!
15 commentaires sur “Liste de TOUTES les fonctions VBA expliquées”
Tout dans une seule table – exactement ce que je cherchais! Merci
Très bien, merci
il n y a pas la fonction "With" !!!
With
n'est pas une fonction. C'est une instruction (Statement) qui ne transforme pas l'entrée, et ne donne aucune information. Elle sert à définir l'objet (le niveau) avec lequel on travaille. En fait, c'est surtout une instruction qui facilite l'écriture des macros et qui rend le code plus lisible (on pourrait s'en passer en écrivant toutes les commandes complètement).J'admets que j'ai mis
If... Then ... Else ... End If
dans la liste bien qu'il s'agit d'une instruction également. Mais à mon humble avis, cela mérite d'être dans la liste vue que cela impacte la valeur du résultat.Cordialement, Martin
Bonjour,
Super liste !
Comme MSE est une application qui évolue régulièrement, j'aurais trouvé aussi très pratique qu'une colonne "Version MSE" soit ajoutée. Certaines fonctions existent en effet dans une version MSE et n'existent pas dans une autre.
@+
Paul
je ne sas pas comment intégrer la date du jour dans ma macro copier/coller
Merci, pour cette liste. C'est très pratique. Je n'ai pas vu les fonctions LBound et UBound.
Est-ce que cela signifie que ce ne sont pas des fonctions?
Bonjour Marco, si si, il s'agit des fonctions… Et d'un oubli de ma part.
Je viens de les ajouter dans la liste.
Merci pour le signalement.
Cordialement, Martin
Bonjour.
Y aurait-il un article qui parle de comment utiliser Cells() ou Range() par exemple? Et comment les agencer? Par exemple Cells.Select, ou Range.Select. Pour expliquer le principe.
Bonjour,
En lien avec mes études j'utilise le VBA mais voulant aller plus loin j'ai vu cette liste et souhaite savoir la signification du therme "retourne" qui est très souvent présent dans le commentaire.
Bonjour Diirm,
l'utilité principale d'une fonction est que vous lui fournissez les données (entrées), elle en fait quelque chose et "retourne" le résultat.
Donc en générale, si vous avez par ex. une fonction SOMME, vous lui fournissez les nombres à additionner (ex. 10 et 15) et elle vous "retourne" le résultat (25).
En VBA, c'est ce qui fait la principale différence entre une procédure (
Sub
) et une fonction (Function
): les deux font quelque chose mais la procédure ne retourne rien à la fin contrairement à la fonction. Donc si vous voulez changer la couleur d'une cellule, vous utiliserez une procédure (elle change la couleur et c'est tout, il n'y a pas de résultat à retourner) tandis que pour un calcul mathématique, vous utiliserez une fonction qui vous renverra un résultat.Bonjour, bravo pour ce beau travail.
Je suis à la recherche d'une fonction me permettant d'additionner des cellules dans une plage de données en fonction des couleurs des cellules.
Pourriez vous m'aider ?
Merci d'avance.
Merci beaucoup pour ce fameux document Martin.
Je suis un jeune passionné en informatique et actuellement débutant en programmation VBA-Excel.
Alors j'ai rencontré un peu quelques difficultés lors d'une création de clavier visuel sur VBA-EXCEL.
J'ai créé tous les boutons et je les ai également nommés.
Quant aux codes, je n'ai pu configurer que les lettres alphabétiques et le bouton Effacer.
Mon problème maintenant se base sur comment coder le bouton CAPS LOCK, pour la conversion du clavier de majuscule en minuscule et vice versa, la partie alphanumérique, les symboles et les boutons de fonction. Si vous pouvez me donnez des directives.
Merci d'avance pour l'aide.
Lezima Mundele.
Bonjour, merci pour ces informations qui m'aide a un peux plus comprendre les fonctionnalités de Excel.
J'aurais aimer savoir s'il est possible de ( transformer ) la fonction VBA "FileDateTime" pour que la date de modification ne correspondent pas a tout le document mais seulement a une cellule ?
Merci de votre aide.
Bonjour Maxandre,
non, ce n'est pas possible avec la fonction
FileDateTime
– celle-ci fonctionne uniquement au niveau du fichier entier.Pour ce que vous cherchez, il n'y a pas, à ma connaissance, de fonction directement utilisable.
Par contre vous pouvez le faire grâce à ce tutoriel: VBA: Suivre l'activité de l'utilisateur
J'espère que cela va vous aider…
M.