formulation optionbuton si non cocher ouvrir une messagebox vbOKCancel

  • Initiateur de la discussion Initiateur de la discussion fan2foot
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fan2foot

XLDnaute Nouveau
Bonjour;

J'ai un souci avec une formule en VBA, j'ai 1 groupement de 10 options button, chaque bouton cocher provoque une action différente, si aucun bouton est cocher une message box (vbokcancel) s'ouvre. Le problème c'est que lorsque je clic sur annuler, la procédure ne s’arrête pas et ma feuille de calcul se remplit. Moi je souhaiterais lorsque je clic sur annulé pouvoir retourner à mon userform en ayant gardé en mémoire les cases que j'avais cochées avant d’avoir cliqué sur enregistrer et que ma feuille ne se soit pas quand même rempli des information que j'ai noté.
Je pense qu'il faut d'abord mettre la condition pour ouvrir la messagebox et après mes condition pour remplir ma feuille. Le problème c'est que je ne trouve pas la bonne formulation.
voici mon code actuel.
Code:
If banco1.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 2)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 1"
       ElseIf banco2.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 3)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 2"
       ElseIf banco3.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 4)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 3"
       ElseIf banco4.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 5)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 4"
       ElseIf banco5.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 6)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 5"
       ElseIf banco6.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 7)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 6"
       ElseIf banco7.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 8)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 7"
       ElseIf banco8.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 9)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 8"
       ElseIf banco9.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 10)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 9"
       ElseIf banco10.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 11)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 10"
    Else 'Si non coché ...
        Dim Rep4 As Integer
        Rep4 = MsgBox("Valider sans utiliser le banco ?", vbOKCancel)
        If Rep4 = vbCancel Then Exit Sub
        Sheets("pronostic").Cells(no_ligne, 12) = ""
    End If
 
Re : formulation optionbuton si non cocher ouvrir une messagebox vbOKCancel

Bonsoir fan2foot.
Sans fichier je ne peux pas tester mon hypothèse.
Mais pourquoi n'inverserais-tu pas ta condition :
Code:
If banco1.Value = False Then
Dim Rep4 As Integer
        Rep4 = MsgBox("Valider sans utiliser le banco ?", vbOKCancel)
        If Rep4 = vbCancel Then Exit Sub
        Sheets("pronostic").Cells(no_ligne, 12) = ""
Else:
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 2)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 1"
       ElseIf banco2.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 3)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 2"
       ElseIf banco3.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 4)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 3"
       ElseIf banco4.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 5)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 4"
       ElseIf banco5.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 6)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 5"
       ElseIf banco6.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 7)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 6"
       ElseIf banco7.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 8)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 7"
       ElseIf banco8.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 9)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 8"
       ElseIf banco9.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 10)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 9"
       ElseIf banco10.Value = True Then 'Si coché ...
       Sheets("score").Cells(no_ligne, 12) = Sheets("score").Cells(no_ligne, 11)
       Sheets("pronostic").Cells(no_ligne, 12) = "match 10"       
    End If
 
Re : formulation optionbuton si non cocher ouvrir une messagebox vbOKCancel

bonsoir,
merci de ta réponse je ne savais pas qu'on pouvait aussi mettre des "elseIf" dans la partie else.
Merci de ton aide en mettant le code au tout début de ma commande Private Sub, j'obtient exactement l'effet escompter.
Encore merci pour ta réponse rapide.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
847
Retour