Bonjour,

j'ai fait ce code qui ouvre ou ferme un dossier en fonction de la couleur du bouton sur lequel on clique.


Code POWERSHELL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
function OpenCloseFolder {
 
    if ($FoldButton.BackColor = "Chocolate") {
    write-host "Ouverture du dossier"
    $FoldButton.BackColor = "DarkOrange"
    } elseif ($FoldButton.BackColor = "DarkOrange") {
 
    write-host "Fermeture du dossier"
    $FoldButton.BackColor = "Chocolate"
    }
}

Malheureusement c'est toujours le .BackColor initial qui est pris en compte, ce qui fait que le elseif n'est jamais opérant. Savez-vous comment solutionner ce problème, svp?

Si j'introduis une variable :

Code POWERSHELL : Sélectionner tout - Visualiser dans une fenêtre à part
$maBackColor = 0

et que je tape le code qui suit :

Code POWERSHELL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
    if ($maBackColor = 0) {
    $maBackColor = 1
    write-host "Ouverture du dossier"
    $OpFoldButton.BackColor = "DarkOrange"
    } elseif ($maBackColor = 1) {
    $maBackColor = 0
    write-host "Fermeture du dossier"
    $OpFoldButton.BackColor = "Chocolate"
    }

je n'obtiens que des "Fermeture du dossier" en cliquant sur le bouton $OpFoldButton.

PS : avec des guillemets $maBackColor = "0", ce sont des "Ouverture du dossier" que j'obtiens.

En fait, le programme n'enregistre pas la modification de ma variable.