Case d'option Code éronné

Bonjour,

Sur ma Feuille excel j'ai mis des Cases d'option (contrôles de formulaire).

Via un bouton si je sélectionne case d'option 11 ou 12 ça m'ouvre tel ou tel feuille..

Sub ajout()
If Me.Shapes("Case d'option 11") = True Then
Sheets(Feuil9.name).Select
End If
If Me.Shapes("Case d'option 12") = True Then
Sheets(Feuil10.name).Select
End If
End Sub

Mon soucis, "Me.shapes" ça ne fonctionne pas..

Merci d'avance !

Bonjour,

Puisque le but final est d'utiliser du vba ; tu ne peux pas remplacer tes "Cases Formulaires" par des "Option button" (Contrôle activX )

PLus simple à gérer

Bonjour Xmenpl,

Si bien sûr ceci ne me dérange pas..

et du coup mon code c'est comme un optionbutton d'un userform ?

Sub ajout()
If OptionButton1 = True Then
Sheets(Feuil9.name).Select
End If
If OptionButton2 = True Then
Sheets(Feuil10.name).Select
End If
End Sub

Oui exactement. beaucoup plus simple.

cependant vu ton code il me semble que si le bouton 1 n' est pas coché alors le bouton 2 le sera surement non ?

çà revient à écrire :

Sub ajout()
If OptionButton1 = True Then
Sheets(Feuil9.name).Select
Else
Sheets(Feuil10.name).Select
End Else
End If
End Sub

En faite j'ai simplifié mon code

Mais en vrai ça donne ça:

Sub ajout()

If Sheets(Feuil1.name).OptionButton1 = True Then
Sheets(Feuil9.name).Select

    '14/21
        If Sheets(Feuil1.name).Range("F16") = 1 Then
        Sheets(Feuil9.name).Rows("11:26").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("F16") = 2 Then
        Sheets(Feuil9.name).Rows("11:26").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("F16") = 3 Then
        Sheets(Feuil9.name).Rows("11:18").Hidden = False
        Sheets(Feuil9.name).Rows("19:26").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("F16") = 4 Then
        Sheets(Feuil9.name).Rows("11:18").Hidden = False
        Sheets(Feuil9.name).Rows("19:26").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("F16") = 5 Then
        Sheets(Feuil9.name).Rows("11:26").Hidden = False
        End If
        If Sheets(Feuil1.name).Range("F16") = 6 Then
        Sheets(Feuil9.name).Rows("11:26").Hidden = False
        End If

    '14/30
        If Sheets(Feuil1.name).Range("G16") = 1 Then
        Sheets(Feuil9.name).Rows("35:50").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("G16") = 2 Then
        Sheets(Feuil9.name).Rows("35:50").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("G16") = 3 Then
        Sheets(Feuil9.name).Rows("35:44").Hidden = False
        Sheets(Feuil9.name).Rows("43:50").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("G16") = 4 Then
        Sheets(Feuil9.name).Rows("35:44").Hidden = False
        Sheets(Feuil9.name).Rows("43:50").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("G16") = 5 Then
        Sheets(Feuil9.name).Rows("35:50").Hidden = False
        End If
        If Sheets(Feuil1.name).Range("G16") = 6 Then
        Sheets(Feuil9.name).Rows("35:50").Hidden = False
        End If
        Sheets(Feuil9.name).Select

            'Impression
            If MsgBox("Souhaitez-vous imprimer les étiquettes ?", vbOKCancel, "Demande de Confirmation") = vbOK Then
            ActiveWindow.ActiveSheet.PrintOut
            End If
        Else: Sheets(Feuil1.name).Select
        Sheets(Feuil1.name).Select
    End If

    '----------------

    If Sheets(Feuil1.name).OptionButton2 = True Then
    Sheets(Feuil16.name).Select

    '14/21
        If Sheets(Feuil1.name).Range("F16") = 1 Then
        Sheets(Feuil16.name).Rows("11:26").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("F16") = 2 Then
        Sheets(Feuil16.name).Rows("11:26").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("F16") = 3 Then
        Sheets(Feuil16.name).Rows("11:18").Hidden = False
        Sheets(Feuil16.name).Rows("19:26").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("F16") = 4 Then
        Sheets(Feuil16.name).Rows("11:18").Hidden = False
        Sheets(Feuil16.name).Rows("19:26").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("F16") = 5 Then
        Sheets(Feuil16.name).Rows("11:26").Hidden = False
        End If
        If Sheets(Feuil1.name).Range("F16") = 6 Then
        Sheets(Feuil16.name).Rows("11:26").Hidden = False
        End If

    '14/30
        If Sheets(Feuil1.name).Range("G16") = 1 Then
        Sheets(Feuil16.name).Rows("35:50").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("G16") = 2 Then
        Sheets(Feuil16.name).Rows("35:50").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("G16") = 3 Then
        Sheets(Feuil16.name).Rows("35:44").Hidden = False
        Sheets(Feuil16.name).Rows("43:50").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("G16") = 4 Then
        Sheets(Feuil16.name).Rows("35:44").Hidden = False
        Sheets(Feuil16.name).Rows("43:50").Hidden = True
        End If
        If Sheets(Feuil1.name).Range("G16") = 5 Then
        Sheets(Feuil16.name).Rows("35:50").Hidden = False
        End If
        If Sheets(Feuil1.name).Range("G16") = 6 Then
        Sheets(Feuil16.name).Rows("35:50").Hidden = False
        End If
        Sheets(Feuil16.name).Select

            'Impression
            If MsgBox("Souhaitez-vous imprimer les étiquettes ?", vbOKCancel, "Demande de Confirmation") = vbOK Then
            ActiveWindow.ActiveSheet.PrintOut
            End If
        Else: Sheets(Feuil1.name).Select
        Sheets(Feuil1.name).Select
    End If
    Sheets(Feuil1.name).Select
End Sub

Et là il fonctionne au TOP !!!

Après certainement moyen de le simplifier ...

Rechercher des sujets similaires à "case option code eronne"