Variable déclarée en "Public" qui ne prend pas la valeur espérée

Résolu
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -  
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voici le code original :

Public PARAMETRAGE_OUI As Boolean

Private Sub Workbook_Open()

Dim j As Integer, i As Integer

For i = 1 To ThisWorkbook.Sheets.Count

    Sheets(i).Visible = True

Next i

PARAMETRAGE_OUI = False

With UserForm_Parametrage

    .Show 0
    For i = 10 To 0 Step -1
        Application.Wait Now + TimeValue("00:00:01")
        If i >= 10 Then
            .Timer = "00:" & i
        Else
            .Timer = "00:0" & i
        End If
            .Repaint
    Next i
    
End With
 
Unload UserForm_Parametrage

If PARAMETRAGE_OUI = True Then
    Exit Sub
End If

Application.DisplayAlerts = False

For i = ThisWorkbook.Sheets.Count To 4 Step -1

    Sheets(i).Delete
    
Next i

Application.DisplayAlerts = True

Call Refresh

Call MISE_EN_FORME

Call Creation_PDF

Call EnvoiMail


End Sub


Comme vous pouvez le voir, j'ai déclaré une variable en haut de mon code : Public PARAMETRAGE_OUI As Boolean

En fait, le code du bouton du UserForm est le suivant :

Private Sub CommandButton1_Click()

Dim i As Integer

PARAMETRAGE_OUI = True

Unload Me

End Sub



Et dans mon code, vous verrez la ligne suivante :

If PARAMETRAGE_OUI = True Then
    Exit Sub
End If



Or, le code ne s'arrête pas lorsque l'on clique sur le bouton, pourtant la variable d'ordre publique devrait devenir "True" en cliquant sur le bouton du UserForm non? La valeur de la variable n'est pas conservée ensuite??

Merci d'avance.

Cordialement.

2 réponses

ThauTheme Messages postés 1442 Date d'inscription   Statut Membre Dernière intervention   160
 
Bonjour Kuartz, bonjour le forum,

Les variables publiques doivent être déclarées dans un module standard (Module1 par exemple). Là, tu l'as déclarée dans le composant ThisWorkbook...
0
Kuartz Messages postés 852 Date d'inscription   Statut Membre Dernière intervention   61
 
Bonjour TheauTheme,

Aussi simple que ça... Je pensais qu'on pouvait la déclarer n'importe où...

Merci beaucoup.

Cordialement.
0