Utilisation des fonctions de feuille de calcul Excel dans Visual Basic
Utilisez la plupart des fonctions de feuille de calcul Microsoft Excel dans vos instructions Visual Basic. Pour obtenir une liste des fonctions de feuille de calcul que vous pouvez utiliser, voir Liste des fonctions de feuille de calcul disponibles dans Visual Basic.
Remarque
Certaines fonctions de feuille de calcul ne sont pas utiles dans Visual Basic. Par exemple, la fonction Concatenate n’est pas nécessaire, car dans Visual Basic vous pouvez utiliser l’opérateur & pour joindre plusieurs valeurs de texte.
Appel d’une fonction de feuille de calcul à partir de Visual Basic
Dans Visual Basic, les fonctions de feuille de calcul Excel sont disponibles via l’objet WorksheetFunction.
Les procédures Subci-dessous utilisent la fonction de feuille de calcul Min pour déterminer la plus petite valeur dans une plage de cellules. Tout d’abord, la variable myRange
est déclarée en tant qu’objet Range puis définie sur la plage A1:C10 sur Feuil1. Une autre variable, answer
, bénéficie de l'attribution du résultat de l'application de la fonction Min à myRange
. Enfin, la valeur de answer
s’affiche dans une boîte de message.
Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub
Si vous utilisez une fonction de feuille de calcul qui nécessite une référence de plage comme argument, vous devez spécifier un objet Range. Par exemple, vous pouvez utiliser la fonction de feuille de calcul Match pour rechercher une plage de cellules. Dans une cellule de feuille de calcul, vous pouvez entrer une formule telle que =MATCH(9,A1:A10,0). Toutefois, dans une procédure Visual Basic, vous auriez spécifié un objet Range pour obtenir le même résultat.
Sub FindFirst()
myVar = Application.WorksheetFunction _
.Match(9, Worksheets(1).Range("A1:A10"), 0)
MsgBox myVar
End Sub
Remarque
Les fonctions Visual Basic n’utilisent pas le qualificateur WorksheetFunction. Une fonction peut avoir le même nom qu'une fonction Microsoft Excel, mais pourtant avoir un fonctionnement différent. Par exemple, Application.WorksheetFunction.Log
et Log
renverront des valeurs différentes.
Insertion d'une fonction de feuille de calcul dans une cellule
Pour insérer une fonction de feuille de calcul dans une cellule, spécifiez la fonction en tant que valeur de la propriété Formula de l’objet Range correspondant. Dans l’exemple suivant, la fonction de feuille de calcul RAND (qui génère un nombre aléatoire) est attribuée à la propriété Formula de la plage A1:B3 sur Sheet1 du classeur actif.
Sub InsertFormula()
Worksheets("Sheet1").Range("A1:B3").Formula = "=RAND()"
End Sub
Exemple
Cet exemple utilise la fonction de feuille de calcul VPM pour calculer le remboursement d’un prêt immobilier. Notez que cet exemple utilise la méthode InputBox à la place de la fonction InputBox, afin que la méthode puisse effectuer une vérification de type. Les instructions Static obligent Visual Basic à conserver les valeurs des trois variables ; celles-ci seront affichées en tant que valeurs par défaut à la prochaine exécution du programme.
Static loanAmt
Static loanInt
Static loanTerm
loanAmt = Application.InputBox _
(Prompt:="Loan amount (100,000 for example)", _
Default:=loanAmt, Type:=1)
loanInt = Application.InputBox _
(Prompt:="Annual interest rate (8.75 for example)", _
Default:=loanInt, Type:=1)
loanTerm = Application.InputBox _
(Prompt:="Term in years (30 for example)", _
Default:=loanTerm, Type:=1)
payment = Application.WorksheetFunction _
.Pmt(loanInt / 1200, loanTerm * 12, loanAmt)
MsgBox "Monthly payment is " & Format(payment, "Currency")
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour