PB avec les CheckBox

chuinul

XLDnaute Occasionnel
Bonjour à tous et à toutes,

Voilà je me suis lancé dans les checkBox et je rencontre quelques petits problèmes enfait deux :

PB num 1:
Je voudrais attribuer des valeurs à des variables suivant le choix des cases cochées et puis copier ces valeurs dans une autre feuil. Est ce possible? Si oui comment?

PB num 2: Lors du cochage des cases...

Je dois obligatoirement cocher deux cases parmis huit propposées.
La première parmis les 4 cases du haut
La deuxième parmis les 4 cases du bas.

Le principe est que si une seule case est coché parmis les huit ou si deux cases du haut ou deux cases du bas sont cochées, alors il y a un message disant de recommencer ces choix Sinon on clique sur valider et on sort du UserForm et on copie les valeurs correspondantes (PB num 1) dans une autre feuil.

Voilà je ne sais pas si je suis très clair donc voici mon fichier .xls joint.

Merci d'avance et Bon déjeuner
 

Pièces jointes

  • Boutton Test.zip
    20.1 KB · Affichages: 38

Chloulou

XLDnaute Occasionnel
Re : PB avec les CheckBox

Pour ta premièere question :

si tu a défini es variables, il faut créer une macro, avec un test du type
Code:
If CheckBox1.value = true then
      Mavariable = "ce que tu veux"
ElseIf Checkbox2.value = true then
      Mavariable = autrechose*
else
...
end if
Tu peux aussi rajouter des opérations entre le résultats de tes différentes CheckBox :
exemple
Code:
If (CheckBox1.value=True) and (CheckBox2.value = False) Then
               ...
               elseif
                ...
                else
                ...
end if
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : PB avec les CheckBox

Bonjour Chuinul, Chloulou, bonjour le forum,

J'ai ouvert ton fichier et j'ai l'impression que ce ne sont pas des Checkboxes qu'il te faut mais plutôt deux série de 4 OptionButton. Une série pour la partie du haut et une autre pour la partie du bas. L'avantage de l'OptionButton c'est que l'on ne peut en cocher qu'un...
 

chuinul

XLDnaute Occasionnel
Re : PB avec les CheckBox

Salut Robert, Chloulou et le Forum,

Tout d'abord merci de me répondre et de trouver des solutions à mes deux problème.


Pour Robert :

J'ai tester avec des Option Button mais je ne peut qu'en choisir qu'une seule parmis les huit or moi il faut que j'en coche 2. Tu parlais de série de 4 OptionButton comment faire pour dissocier les deux séries de 4 OptionButton?


Pour Chloulou :

Ton bout de code je le met dans les Private Sub CheckBox1_Click()
ou dans la macro qui appelle le UserForm ou bien dans une autre macro?

Parceque dans les Private Sub CheckBox1_Click() je leur fait une test si leur valeur est true ou false. Si c'est true alors je met :

X1 = Worksheets("Feuil2").Cells(3, 3)
Y1 = Worksheets("Feuil2").Cells(3, 4)
X2 = Worksheets("Feuil2").Cells(4, 3)
Y2 = Worksheets("Feuil2").Cells(4, 4)

Déja je ne sais pas si X1, Y1, X2 et Y2 prennent bien les valeurs des Cellules correspondantes.

Et ca pour tous les CheckBox de 1 à 4

Etpuis dans la macro qui appelle le UserForm, je voudrais juste copier les valeurs de X1, Y1, X2 et Y2 dans une autre feuil. j'ai tester plusieur choses :

1)
X1.Copy Destination:=Worksheets("Feuil3").Cells(1, 1) ca ne marche pas!!

2)
Cells(1, 1).Value = X1 ca ne marche pas

3)
j'ai fait des boucle If en mettant en testant les valeur des CheckBox en mettant 1) ou 2) et ce ne marche pas

C'est normal que ca ne marche pas car je ne suis pas très bon en VBA !!!

Donc voilà si toi au d'autre personne aurais une solution...

Merci d'avance
 

Chloulou

XLDnaute Occasionnel
Re : PB avec les CheckBox

J'imagine que ton USf a un bouton Ok, dans ce cas mets cette macro dans la macro BoutonOk_Click().
Sinon dans Checkbox_Click()

Utilise :

X1 = Worksheets("Feuil2").Cells(3, 3).value
Y1 = Worksheets("Feuil2").Cells(3, 4).value
X2 = Worksheets("Feuil2").Cells(4, 3).value
Y2 = Worksheets("Feuil2").Cells(4, 4).value

Pour copier les valeurs dans une autre Feuille, c'est l'opération inverse :
WorkSheet("taFeuille").cells(RowIndex,ColIndex) = X1
... Il faut bien préciser WorkSheet("taFeuille"). pour indiquer dans quelle feuille il faut tranfsérer les valeurs

Aussi, plutot que de faire brutalement plein de test sur tes checkbox, fait une boucle...
For i =? to ?
X&i = Checkbox&i.value
Next i
C'est quelque chos comme ca : regarde dans les anciens posts, il ya pas mal de chose la dessus. Au pir je peux te retrouver un bout de code à adapter que j'avais fait pour un Remise à Zéro de tous les contrôles d'un formulaires. Cherche avec RAZ tu devrais tomber dessus
 

Discussions similaires