![](https://codky.com/wp-content/uploads/2024/11/2749-1024x576.png)
La fonction `Environ` dans VBA est utilisée pour récupérer des variables d’environnement du système d’exploitation. Ces variables stockent des informations sur l’environnement utilisateur, telles que le chemin d’accès aux fichiers systèmes ou le nom de l’utilisateur, et peuvent être très utiles lors de la création de scripts VBA pour adapter le comportement en fonction de l’environnement.
Voici comment utiliser la fonction `Environ` :
Syntaxe de la fonction
Environ(Expression As Variant) As String
- Expression : C’est un argument obligatoire qui peut être soit une chaîne de caractères indiquant le nom de la variable d’environnement, soit un entier représentant la position de la variable dans la séquence de ces variables.
Utilisation avec un nom de variable
Si vous connaissez le nom de la variable d’environnement que vous souhaitez obtenir, vous pouvez la passer directement en tant que chaîne à la fonction.
Exemple
Sub ExempleEnvironNom()
Dim tempPath As String
tempPath = Environ("TEMP") ' Récupère le chemin du dossier temporaire
MsgBox "Le chemin du dossier temporaire est : " & tempPath
End Sub
Utilisation avec un numéro d’index
Vous pouvez également passer un nombre à la fonction `Environ` pour récupérer la variable d’environnement à cette position. Cependant, cette méthode est moins courante et plus fragile, car l’ordre des variables peut varier.
Exemple
Sub ExempleEnvironIndex()
Dim variable1 As String
variable1 = Environ(1) ' Récupère la première variable d'environnement
MsgBox "La première variable d'environnement est : " & variable1
End Sub
Points à garder à l’esprit
- Si une variable d’environnement n’est pas définie, `Environ` retourne une chaîne vide.
- L’utilisation des noms de variables est généralement préférée à l’utilisation d’indices, car elle est plus explicite et moins sujette à des erreurs dues à des changements dans l’environnement.
Exemple d’application pratique
Voici un exemple qui montre comment configurer un chemin d’accès pour enregistrer un fichier dans le dossier “Documents” de l’utilisateur actuel :
Sub EnregistrerDansDocuments()
Dim cheminDocuments As String
cheminDocuments = Environ("USERPROFILE") & "Documents"