Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mettre à jour une variable de configuration Windows depuis une macro Excel

2 réponses
Avatar
Marc
Bonjour

Je souhaiterai mettre à jour une variable de configuration Windows (la
variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais
pas comment faire .

Merci de votre aide

Marc

2 réponses

Avatar
Alain CROS
Bonjour.

Private Declare Function SetEnvironmentVariable& _
Lib "kernel32" Alias "SetEnvironmentVariableA" _
(ByVal lpName$, ByVal lpValue$)

Private Declare Function GetEnvironmentVariable& _
Lib "kernel32" Alias "GetEnvironmentVariableA" _
(ByVal lpName$, ByVal lpBuffer$, ByVal nSize&)


Sub EcrireVariable()
Dim Var$, Valeur$, LeTexte$, LeTitre$
LeTitre = "Ecriture variable d'environnement"
Var = InputBox("Entrer le nom de la variable", LeTitre)
If Var <> "" Then
Valeur = InputBox("Entrer la valeur de la variable", LeTitre)
If Valeur = "" Then If MsgBox("Effacer la variable " & Var & " ?", _
vbExclamation + vbYesNo, LeTitre) = vbNo Then Exit Sub
SetEnvironmentVariable Var, Valeur
LeTexte = ValeurDeVariable(Var)
If LeTexte = "" Then
LeTexte = " n'est pas définie"
Else
LeTexte = " égale :" & vbCr & LeTexte
End If
MsgBox "La variable " & Var & LeTexte, , LeTitre
End If
End Sub

Function ValeurDeVariable$(Var$)
Dim Valeur$, J&
Do
Valeur = Space$(J)
J = GetEnvironmentVariable(Var, Valeur, J)
Loop Until Len(Valeur) > 0& Or J = 0&
ValeurDeVariable = Left$(Valeur, J)
End Function

Alain CROS

"Marc" a écrit dans le message de news: eV9p#
| Bonjour
|
| Je souhaiterai mettre à jour une variable de configuration Windows (la
| variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais
| pas comment faire .
|
| Merci de votre aide
|
| Marc
Avatar
Marc
Merci pour l'astuce, elle marche, mais il me reste un problème :
La variable d'environnement est bien positionnée dans Excel, mais sa
valeur est perdues dè qu'on sort d'Excel.
Or je voudrais qu'elle prenne une valeur définitive dans Windows....

Est-ce possible ?

Bonjour.

Private Declare Function SetEnvironmentVariable& _
Lib "kernel32" Alias "SetEnvironmentVariableA" _
(ByVal lpName$, ByVal lpValue$)

Private Declare Function GetEnvironmentVariable& _
Lib "kernel32" Alias "GetEnvironmentVariableA" _
(ByVal lpName$, ByVal lpBuffer$, ByVal nSize&)


Sub EcrireVariable()
Dim Var$, Valeur$, LeTexte$, LeTitre$
LeTitre = "Ecriture variable d'environnement"
Var = InputBox("Entrer le nom de la variable", LeTitre)
If Var <> "" Then
Valeur = InputBox("Entrer la valeur de la variable", LeTitre)
If Valeur = "" Then If MsgBox("Effacer la variable " & Var & " ?", _
vbExclamation + vbYesNo, LeTitre) = vbNo Then Exit Sub
SetEnvironmentVariable Var, Valeur
LeTexte = ValeurDeVariable(Var)
If LeTexte = "" Then
LeTexte = " n'est pas définie"
Else
LeTexte = " égale :" & vbCr & LeTexte
End If
MsgBox "La variable " & Var & LeTexte, , LeTitre
End If
End Sub

Function ValeurDeVariable$(Var$)
Dim Valeur$, J&
Do
Valeur = Space$(J)
J = GetEnvironmentVariable(Var, Valeur, J)
Loop Until Len(Valeur) > 0& Or J = 0&
ValeurDeVariable = Left$(Valeur, J)
End Function

Alain CROS

"Marc" a écrit dans le message de news: eV9p#
| Bonjour
|
| Je souhaiterai mettre à jour une variable de configuration Windows (la
| variable "PATH" en l'occurence) depuis une macro Excel, et je ne sais
| pas comment faire .
|
| Merci de votre aide
|
| Marc