Skip to main content

Exemples VBScript d’utilisation de l’outil Calculer un champ

Utilisez l’option VBScript du paramètre Expression Type (Type d’expression) de l’outil Calculate Field (Calculer un champ) ou de l’outil Calculate Fields (multiple) (Calculer des champs [multiple]) si vous connaissez le langage VBA ou VBScript et si vous maîtrisez la syntaxe de script. Cette option prend également en charge les modèles ou les scripts existants issus d’ArcGIS Desktop qui utilisent l’outil Calculate Field (Calculer un champ) avec des calculs VBScript.

Attention :

Avec Windows 11, version 24H2, VBScript devient une fonction à la demande et requiert la fonctionnalité VBScript.

Pour continuer d’utiliser l’option VBScript, procédez comme suit :

  • Convertissez le type d’expression en Python, Arcade ou SQL.

  • Activez la fonctionnalité facultative VBScript dans les paramètres système de Windows.

Pour en savoir plus, reportez-vous à l’article Avis de retrait et d’obsolescence.

Cette rubrique présente des exemples d’utilisation de l’outil Calculer un champ qui reposent sur du code VBScript. Pour en savoir plus sur les exemples Python, reportez-vous à la rubrique Exemples d’utilisation de l’outil Calculer un champ dans Python. Pour en savoir plus sur les expressions ArcGIS Arcade, consultez le guide ArcGIS Arcade. Pour en savoir plus sur les expressions SQL, reportez-vous à la rubrique Calculer des valeurs de champ.

Remarque :

VBScript ne permet pas de déclarer explicitement n’importe quel type de données ; toutes les variables sont implicitement de type Variant. Les instructions telles que Dim x as String doivent être supprimées ou simplifiées en Dim x.

Calculs simples

Les expressions courtes permettent d’effectuer divers calculs.

Fonctions de chaîne VBScript

Les chaînes sont prises en charge par une série de fonctions de chaîne VBScript, notamment Left, InStr et Chr. Voici quelques exemples VBScript utilisés dans les fonctions de chaîne courantes du Calculateur de champs :

Utilisez la fonction Left pour renvoyer un nombre spécifié de caractères à partir du côté gauche d’une chaîne.

Expression:
Left([MyField], 1)

Utilisez la fonction Right pour renvoyer un nombre spécifié de caractères à partir du côté droit d’une chaîne.

Expression:
Right([MyField], 1)

Utilisez la fonction Mid pour renvoyer un nombre spécifié de caractères en utilisant une position de départ et un nombre facultatif de caractères.

Expression:
Mid([MyField], 14, 4)

Utilisez la fonction InStr pour renvoyer la position de la première occurrence d’une chaîne dans une autre chaîne.

Expression:
InStr([MyField], " ")

Utilisez la fonction Replace pour renvoyer une chaîne dans laquelle une sous-chaîne spécifiée a été remplacée par une autre sous-chaîne.

Expression:
Replace([MyField], "#", "!")

Utilisez la fonction Chr pour renvoyer le caractère associé au code de caractère spécifié.

Dans l’exemple suivant, le caractère de retour chariot est remplacé par un point d’exclamation.

Expression:
Replace([MyField], Chr(13), "!")

Utilisez l’opérateur & pour concaténer deux valeurs de champ.

Expression:
[MyField1] & " " & [MyField2]

Exemples de mathématiques simples

VBScript fournit les outils suivants pour le traitement des nombres :

Opérateur

Explication

Exemple

Résultat

x + y

x plus y

1.5 + 2.5

4.0

x - y

x moins y

3.3 - 2.2

1.1

x * y

x fois y

2.0 * 2.2

4.4

x / y

x divisé par y

3 / 2

1,5

x \ y

x divisé par y (division de nombre entier)

3 \ 2

1

x MOD y

x modulo y

8 MOD 3

2

x ^ y

x puissance y

2 ^ 3

8

Multipliez les valeurs d’un champ par 2.

[Rank] * 2

Calculer des champs à l’aide d’une logique avec VBScript

Des modèles logiques peuvent être inclus dans un bloc de code à l’aide d’instructions If, ElseIf et Else.

Classification selon des valeurs de champ.

Expression:
density
Code Block:
Dim density
If [POP90_SQMI] < 100 Then
density = "low"
ElseIf [POP90_SQMI] < 300 Then
density = "medium"
Else
density = "high"
End If