Eval, fonction

Important :  Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Vous pouvez utiliser la fonction Eval pour évaluer une expression qui résulte dans une chaîne de texte ou une valeur numérique.

Vous pouvez construire une chaîne et passer à la fonction Eval comme s’il s’agissait d’une expression. La fonction Eval évalue l' expression de chaîne et renvoie sa valeur. Par exemple, Eval("1 + 1") renvoie la valeur 2.

Si vous passez à la fonction Eval une chaîne qui contient le nom d’une fonction, la fonction Eval renvoie la valeur de retour de la fonction. Par exemple, Eval("Chr$(65)") renvoie « A ».

Syntaxe

Eval ( expression chaîne )

L’argument expression chaîne est une expression qui prend la valeur d’une chaîne de texte. Par exemple, expression chaîne peut être une fonction qui retourne une chaîne ou une valeur numérique. Ou, il peut être une référence à un contrôle sur un formulaire. L’argument expression chaîne doit correspondre à une chaîne ou une valeur numérique ; Il est impossible d’évaluer une objet Microsoft Access.

Remarque : Exemples suivants illustrent l’utilisation de cette fonction dans une Visual Basic pour le module d’Applications (VBA). Pour plus d’informations sur l’utilisation de VBA, sélectionnez Référence du développeur dans la liste déroulante en regard de recherche et entrez un ou plusieurs termes dans la zone de recherche.

Remarque : Si vous passez le nom d’une fonction à la fonction Eval , vous devez inclure des parenthèses après le nom de la fonction dans l’argument expression chaîne . Par exemple :

' ShowNames is user-defined function.
Debug.Print Eval("ShowNames()")

Debug.Print Eval("StrComp(""Joe"",""joe"", 1)")

Debug.Print Eval("Date()")

Notes

Vous pouvez utiliser la fonction Eval dans un contrôle calculé sur un formulaire ou un état, ou dans une macro ou le module. La fonction Eval renvoie une Variant qui est une chaîne ou un type numérique.

L’argument expression chaîne doit être une expression qui est stockée dans une chaîne. Si vous passez à la fonction Eval une chaîne qui ne contient pas une expression numérique ou un nom de fonction, par exemple une chaîne de texte simple, un erreur d’exécution se produit. Par exemple, Eval("Smith") génère une erreur.

Vous pouvez utiliser la fonction Eval pour déterminer la valeur stockée dans la propriété valeur d’un contrôle. L’exemple suivant passe une chaîne contenant une référence complète à un contrôle à la fonction Eval . Il affiche ensuite la valeur actuelle du contrôle dans une boîte de dialogue.

Dim ctl As Control
Dim strCtl As String
Set ctl = Forms!Employees!LastName
strCtl = "Forms!Employees!LastName"
MsgBox ("The current value of " & ctl.Name & _
" is " & Eval(strCtl))

Vous pouvez utiliser la fonction Eval pour accéder aux opérateurs d’expression qui ne sont pas disponibles dans un module Visual Basic pour Applications (VBA) en général. Par exemple, vous ne pouvez pas utiliser les opérateurs SQL entre... Et ou dans directement dans votre code, mais vous pouvez les utiliser dans une expression passée à la fonction Eval .

L’exemple suivant détermine si la valeur d’un contrôle de région livraison dans le formulaire commandes est une des abréviations d’état spécifiées. Si le champ contient une de ces abréviations, intState sera Vrai (– 1). Notez que vous utilisez des guillemets simples (') pour inclure une chaîne dans une autre.

Dim intState As Integer
intState = Eval("Forms!Orders!ShipRegion In " _
& "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")

Exemple

L’exemple suivant suppose que vous avez une série de 50 fonctions définies en tant que A1, A2 et ainsi de suite. Cet exemple utilise la fonction Eval pour appeler chaque fonction de la série.

Sub CallSeries()
Dim intI As Integer
For intI = 1 To 50
Eval("A" & intI & "()")
Next intI
End Sub

L’exemple suivant déclenche un événement Click comme si l’utilisateur a cliqué sur un bouton dans un formulaire. Si la valeur de la propriété du bouton OnClick commence par un signe égal (=), ce qui signifie qu’il est le nom d’une fonction, Eval fonction appelle la fonction, ce qui équivaut à déclencher l’événement Click . Si la valeur ne commence pas par un signe égal, la valeur doit nommer une macro. La méthode ExécuterMacro de l’objet DoCmd exécute la macro nommée.

Dim ctl As Control
Dim varTemp As Variant
Set ctl = Forms!Contacts!HelpButton
If (Left(ctl.OnClick, 1) = "=") Then
varTemp = Eval(Mid(ctl.OnClick,2))
Else
DoCmd.RunMacro ctl.OnClick
End If

Remarque : Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×