Select case dans userform_initialize

Bonjour à tous

dans la Private Sub Userform_Initialize, j'ai intégré la condition Select Case/End Select.

En phase de test, ie en lançant la macro qui teste le cas ControleQ = True, pas de pb. Maintenant quand j'attaque en étant censé me trouver dans le cas False, je me rend compte que la cas 'True' est lu ... Je suppose que cela est du au fait que je suis dans la procédure d'initialisation.

Comment contourner le problème? (Fichier en pièce jointe : Le lancement de la macro création ne doit pas lire le cas ControleQ=true, à l'inverse de la macro Cloture qualité)

Merci pour votre aide.

Frederic.

Private Sub UserForm_Initialize()
Dim i As Integer
'Dim iq As Integer
Dim Plage As Range

Set WsBase = Sheets("Base")
Set Ws = Sheets("Listes")
Worksheets("Base").Activate

suivant = False
precedent = False
resecteur = False
'ActiveWorkbook.Save 'Sauvegarde avant ouverture formulaire

Select Case ClotureQ

    Case ClotureQ = False

        Box3.Value = Format(Date, "dd/mm/yyyy")

        With Me.Box4 'Box secteur
            For i = 10 To Ws.Range("K2").End(xlToRight).Column 'colonne 10 à dernière valeur
             .AddItem Ws.Cells(2, i)
            Next i

        End With

        With Me.Box1 'Box NumFA
            For i = 3 To WsBase.Range("B" & Rows.Count).End(xlUp).Row
              .AddItem WsBase.Range("A" & i)
            Next i
        End With

        With Sheets("Listes")
            Set Plage = .Range("E2:E" & .Range("E65536").End(xlUp).Row)
        End With

        Box2.List = Plage.Value
        Box53.List = Plage.Value
        Box23.List = Plage.Value
        Box26.List = Plage.Value
        Box29.List = Plage.Value
        Box32.List = Plage.Value
        Box35.List = Plage.Value
        Box49.List = Plage.Value
        Box51.List = Plage.Value

        'Remplissage combobox Type anomalie (Colonne G onglet 'Listes')
        With Sheets("Listes")
            Set Plage = .Range("G2:G" & .Range("G65536").End(xlUp).Row)
        End With

        Box7.List = Plage.Value

        'Remplissage combobox origine anomalie (Colonne I onglet 'Listes')
        With Sheets("Listes")
            Set Plage = .Range("I2:I" & .Range("I65536").End(xlUp).Row)
        End With

        Box5.List = Plage.Value

    Case ClotureQ = True

    Sheets("Base").Range("AN1").Select

        iq = Range("AN65536").End(xlUp).Row

        For i = 2 To iq
        FA.FrmQlt.Visible = True

            If ActiveCell.Offset(i, 0) = "OUI" Then

                If ActiveCell.Offset(i, 11).Value = "" Then
                    Ligne = ActiveCell.Offset(i, 0).Row
                    MsgBox ("Valeur OUI trouvée à la ligne : " & Ligne)
                    CmdRecherche_Click
                    Exit Sub
                End If

            End If

        Next

    End Select

End Sub

Bonsoir,

J’avance une explication.

Voici une sélection normale avec une variable booléenne.

Select Case ClotureQ
    Case False
        (Traitement si ClotureQ est Faux)
    Case True    
        (Traitement si ClotureQ est Vrai)
End Select

Mainenant, si tu écris

Select Case ClotureQ
    Case ClotureQ =False

Dans le cas où ClotureQ est Faux, le résultat de ClotureQ =False est Vrai, ce qui n’est pas le cas de ClotureQ. Tu effectues donc le traitement de ClotureQ =True.

A+

Bonjour Frangy bonjour à tous

et merci encore pour ce coupe de main : çà marche .....

Frederic

Rechercher des sujets similaires à "select case userform initialize"