Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment renvoyer une valeur à partir d’une fonction VBA (avec exemples)



Pour renvoyer une valeur d’une fonction dans VBA, vous devez attribuer la valeur au nom de la fonction.

Par exemple, nous pouvons créer la fonction suivante pour diviser deux valeurs puis renvoyer le résultat de la division :

Function DivideValues(x, y)
    DivideValues = x / y
End Function

Le nom de cette fonction est DivideValues , donc pour renvoyer une valeur de cette fonction, nous devons attribuer le résultat de x / y à une variable du même nom de DivideValues .

Si votre fonction implique une logique If Else , vous pouvez attribuer la valeur au nom de la fonction plusieurs fois.

Par exemple, vous pouvez créer la fonction suivante qui renvoie « Impossible de diviser par zéro » si vous tentez de diviser par zéro ou bien renvoyer simplement le résultat de la division :

Function DivideValues(x, y)
    If y = 0 Then
      DivideValues = "Cannot divide by zero"
    Else
      DivideValues = x / y
    End If
End Function

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : Comment renvoyer une valeur à partir d’une fonction VBA

Supposons que nous souhaitions créer une fonction dans VBA pour diviser la valeur de la cellule A2 par la valeur de la cellule B2 :

Nous pouvons créer la fonction suivante pour ce faire :

Function DivideValues(x, y)
    DivideValues = x / y
End Function

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

La fonction renvoie une valeur de 5 , qui est le résultat de 50 divisé par 10.

Nous pourrions également créer une fonction qui utilise la logique If Else pour vérifier d’abord si la valeur par laquelle nous divisons n’est pas égale à zéro :

Function DivideValues(x, y)
    If y = 0 Then
      DivideValues = "Cannot divide by zero"
    Else
      DivideValues = x / y
    End If
End Function

Si nous modifions la valeur dans la cellule B2 et utilisons ensuite cette fonction pour effectuer une division, nous recevrons le résultat suivant :

Puisque nous avons tenté de diviser par zéro, « Impossible de diviser par zéro » est renvoyé par la fonction.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

Comment commenter un bloc de code dans VBA
Comment vérifier si le fichier existe à l’aide de VBA
Comment créer des dossiers à l’aide de VBA

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *