VBA _ Aide sur parametrage userform et checkBox

Toushusss

XLDnaute Nouveau
Bonjour, salut à tout le forum et en particulier à ceux qui m'on deja beaucoup aidé.

J'ai crée une userform avec 3 checkbox ( représentant 3 autres userform).
Je n'arrive pas à trouver la mise en forme conditionnel pour que, selon si ma chekbox est coché ou non cela face apparaitre la userform correspondante.

Mon schema d'apparition est le suivant.
Userform9 ( avec mes 3 checkbox);je coche mes checkbox voulu; je valide
-> ouverture userForm 4 ( jusque la pas de probleme)
Probleme
-> ouverture userform5 ( si checkbox1 cochée, sinon directement userform6 si cochée , sinon userform7); valider
-> ouverture userform6 ( si checkbox2 cochée); valider
-> ouverture userform7 ( si checkbox3 cochée); valider

Seulement selon les besoins je n'ai pas besoins de faire apparitre toute les userform mais seulement celles qui sont cochées. Je peux en selectionner plusieur . par exemple la 1 ,2 et 3 ou la 1 et 3 ou juste la 1 ou la 2 ... toutes les possibilités en fait

Precision les userform ne s'ouvre pas en meme temps mais l'une apres l'autre : A partir du moment ou l'une de mes userform est ouverte j'ai réussi à programmer la suite d'enchainement de mes userform, il me manque le départ avec tout les possibilité que cela implique.
Exemple si les 3 checkbox sont cochées cela ouvre en premier l'userform5
Si j'ai la seconde et pas la premiére cela ouvre la userform6.
Si j'ai la première et la troisième cela ouvre d'abord la première ...

J'ai rentrer ce code dans le "sub" du bouton valider de ma Userform4
Code:
Private Sub CommandButton1_Click()
With Sheets("GAZ")
.Range("A1") = "ANNEE " & UserForm4.TextBox1
End With

With Sheets("EAU")
.Range("A1") = "ANNEE " & UserForm4.TextBox1
End With

With Sheets("EDF")
.Range("A1") = "ANNEE " & UserForm4.TextBox1
End With

With Sheets("Synthèse")
.Range("A1") = "ANNEE " & UserForm4.TextBox1
End With

If UserForm9.CheckBox1.Value = True Then
    Unload UserForm4
    Load UserForm5
    UserForm5.Show
  ElseIf UserForm9.CheckBox2.Value = True Then
    Load UserForm6
    UserForm6.Show
  ElseIf UserForm9.CheckBox3.Value = True Then
    Load UserForm7
    UserForm7.Show
  End If


End Sub

Mais ça bug. Merci pour votre aide
 
Dernière édition:

bond

XLDnaute Occasionnel
Re : VBA _ Aide sur parametrage userform et checkBox

Difficile de s'y retrouver sans un bout de fichier, et surtout avec des explications et une copie du code qui n'ont pas les mêmes index:confused:

peut être la construction suivante :
if chb1=true then
uf1.show
if chb2=true then
uf2.show
end if
if chb3=true then
uf3.show
end if
end if
if chb2=true then
uf2.show
if chb3=true then
uf3.show
end if
end if
if chb3=true then
uf3.show
end if
 

Toushusss

XLDnaute Nouveau
Re : VBA _ Aide sur parametrage userform et checkBox

Je viens de tester mais idem rien ne se produit en cliquant sur valider
Voici le code remanier
Si quelqu'un savait ou sa plante. Merci
Code:
Private Sub CommandButton1_Click()
With Sheets("GAZ")
.Range("A1") = "ANNEE " & UserForm4.TextBox1
End With

With Sheets("EAU")
.Range("A1") = "ANNEE " & UserForm4.TextBox1
End With

With Sheets("EDF")
.Range("A1") = "ANNEE " & UserForm4.TextBox1
End With

With Sheets("Synthèse")
.Range("A1") = "ANNEE " & UserForm4.TextBox1
End With

If UserForm9.CheckBox1.Value = True Then
 Unload UserForm4
 Load UserForm5
 UserForm5.Show
 If UserForm9.CheckBox2 = True Then
 Unload UserForm4
 Load UserForm6
 UserForm6.Show
 End If
 If UserForm9.CheckBox3 = True Then
 Unload UserForm4
 Load UserForm7
 UserForm7.Show
 End If
 End If
 If UserForm9.CheckBox2 = True Then
 Unload UserForm4
 Load UserForm6
 UserForm6.Show
 If UserForm9.CheckBox3 = True Then
 Unload UserForm4
 Load UserForm7
 UserForm7.Show
 End If
 End If
 If UserForm9.CheckBox3 = True Then
 Unload UserForm4
 Load UserForm7
 UserForm7.Show
 End If


End Sub
 

bond

XLDnaute Occasionnel
Re : VBA _ Aide sur parametrage userform et checkBox

Ce code devrait être suffisant :
Code:
If UserForm9.CheckBox1.Value = True Then
 UserForm5.Show
    If UserForm9.CheckBox2 = True Then
        UserForm6.Show
    End If
        If UserForm9.CheckBox3 = True Then
            UserForm7.Show
        End If
 End If
 
 If UserForm9.CheckBox2 = True Then
    UserForm6.Show
    If UserForm9.CheckBox3 = True Then
        UserForm7.Show
    End If
 End If
 
If UserForm9.CheckBox3 = True Then
    UserForm7.Show
End If

Unload UserForm4
 

Toushusss

XLDnaute Nouveau
Re : VBA _ Aide sur parametrage userform et checkBox

Salut Bond !
Toujours le meme probleme. Maintenant vu que la commande de fermeture de la userform4 est aprés les conditions if cela ferme bien mais par contre les autres userforms n'apparaissent pas ?:confused:
Je ne vois pas ou ça bug
 

Toushusss

XLDnaute Nouveau
Re : VBA _ Aide sur parametrage userform et checkBox

Voila le fichier. Au demarage tu as les checkBox que tu selectionne par exemple la Gaz et EDF tu valides une autre userform ( LA 4) rentre une année au hazard . Valide et la ça marche plus
Merci pour ton aide
 

Pièces jointes

  • TARIF JAUNE Test.xlsm
    104.8 KB · Affichages: 86
  • TARIF JAUNE Test.xlsm
    104.8 KB · Affichages: 103
  • TARIF JAUNE Test.xlsm
    104.8 KB · Affichages: 109

bond

XLDnaute Occasionnel
Re : VBA _ Aide sur parametrage userform et checkBox

Dans la dernière validation ta commande Unload UserForm9 décharge l'UF9 de la mémoire, et donc toutes les saisies incluses, ainsi les checkbox de l'UF9 n'ont plus de valeur exploitable à la validation de lUF4.

Remarque UF.Show et Load UF sont redondants, le .Show suffit pour afficher et charger l'UF en mémoire.
 

bond

XLDnaute Occasionnel
Re : VBA _ Aide sur parametrage userform et checkBox

En complément :
Load / Unload : Charge/Décharge l'UF en mémoire
Show / Hide : Charge l'UF en mémoire et l'affiche / Masque l'UF sans décharger la mémoire

Ton code pourrait être :
Code:
UserForm9.Hide
If UserForm9.CheckBox5.Value = True Then
 UserForm5.Show
    If UserForm9.CheckBox6 = True Then
        UserForm6.Show
    End If
    If UserForm9.CheckBox7 = True Then
        UserForm7.Show
    End If
Else
    If UserForm9.CheckBox6 = True Then
        UserForm6.Show
        If UserForm9.CheckBox7 = True Then
            UserForm7.Show
        End If
    Else
        If UserForm9.CheckBox7 = True Then
            UserForm7.Show
        End If
    End If
End If
Unload UserForm9
 

bond

XLDnaute Occasionnel
Re : VBA _ Aide sur parametrage userform et checkBox

oops trop vite, le voici :
Code:
UserForm9.Hide
If UserForm9.CheckBox1.Value = True Then
 UserForm5.Show
    If UserForm9.CheckBox2 = True Then
        UserForm6.Show
    End If
    If UserForm9.CheckBox3 = True Then
        UserForm7.Show
    End If
Else
    If UserForm9.CheckBox2 = True Then
        UserForm6.Show
        If UserForm9.CheckBox3 = True Then
            UserForm7.Show
        End If
    Else
        If UserForm9.CheckBox3 = True Then
            UserForm7.Show
        End If
    End If
End If
Unload UserForm9
 

Discussions similaires

Réponses
1
Affichages
309
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi