simplification multiples checkboxs

koko_spv89

XLDnaute Occasionnel
Bjr à tous,

J'ai le code suivant :


Code:
Private Sub Worksheet_change(ByVal Target As Range)
If Target.Address = "$I$3" Then
Select Case Target
Case 1
 CheckBox1 = True
 CheckBox2 = True
 CheckBox3 = True
 CheckBox4 = True
 CheckBox5 = True
 CheckBox6 = True
 CheckBox7 = True
 CheckBox8 = True
 CheckBox9 = True
 CheckBox10 = True
 CheckBox11 = True

Je voudrais le simplifier... j'ai essayé un truc comme ça mais je crois que je pars mal... je débute ds VB alors j'ai du mal :

Code:
Private Sub Worksheet_change(ByVal Target As Range)
Dim VAR As Byte, CBX As OLEObject
For Each CBX In Worksheets("schéma").OLEObjects
If Left(CBX.Name, 8) = "CheckBox" Then
 If Target.Address = "$I$3" Then
  Select Case Target
   Case 1
    For VAR = 1 To 11
    ("CBX" & VAR).Object.Value = True

Quelqu'un pourrait m'aider?

@+
 

Pierrot93

XLDnaute Barbatruc
Re : simplification multiples checkboxs

Re

pas le même type d'objet, fait avec la barre d'outils formulaire et non avec boite à outils controles.

essaye comme ceci alors...

Code:
Dim s As Shape
For Each s In Me.Shapes
    If s.Name Like "CheckBox*" Then s.DrawingObject.Object.Value = True
Next s

@+
 

koko_spv89

XLDnaute Occasionnel
Re : simplification multiples checkboxs

RE

Je sais pas si c'est que c'est vendredi, que la journée est presque finie, mais j'arrive pas à comprendre ce que vous me donnez..... :eek: y'a des chances que ça soit parce que je connais pas encore VB comme il le faut...
J'ai l'impression qu'il me manque des parties de codes ds ce que vou sme donnez, j'ai plus mon "select case", je suis un peu perdu j'avoue....:eek::confused:

@+
 

Staple1600

XLDnaute Barbatruc
Re : simplification multiples checkboxs

Re


Le code de Pierrot93 simplifie cette partie de ton code initial
Case 1
CheckBox1 = True
CheckBox2 = True
CheckBox3 = True
CheckBox4 = True
CheckBox5 = True
CheckBox6 = True
CheckBox7 = True
CheckBox8 = True
CheckBox9 = True
CheckBox10 = True
CheckBox11 = True

Il faudrait essayer un truc du genre

Dim s As Shape

If Target.Address = "$I$3" Then
Select Case Target
Case 1
For Each s In Me.Shapes
If s.Name Like "CheckBox*" Then s.DrawingObject.Object.Value = True
Next s
 
Dernière édition:

koko_spv89

XLDnaute Occasionnel
Re : simplification multiples checkboxs

Il faudrait essayer un truc du genre

Dim s As Shape

If Target.Address = "$I$3" Then
Select Case Target
Case 1
For Each s In Me.Shapes
If s.Name Like "CheckBox*" Then s.DrawingObject.Object.Value = True
Next s

RE,

Je suis bien d'accord, j'ai fait ça à une ou 2 choses près, mais le probleme c'est que ça vient me cocher toutes les checkbox dans ma feuille alors que moi je veux que dans le cas où y'a un
1 ds I3
checkboxs 1 à 11 = true
2 ds I3
checkboxs 12 à 15 = true
3 ds I3
checkboxs 1 à 5 et 9 à 11 = true

....

je donne ça comme exemple!

@+
 

koko_spv89

XLDnaute Occasionnel
Re : simplification multiples checkboxs

RE à tous....

Merci pour vos réponses.

Pour le cas des vraies "fausses chbx" de Excel-lent c pas possible car elles sont placées en superposition sur une image, dc pas dans des cases fixes.

Pour le reste, il n'y a que le cas de tatiak qui fonctionne car le tien bebere ne selectionne pas les bonnes chbx ça je comprends pas pk.....

Pourtant dans les colonnes de L à V ce sont bien les bonnes d'afficher mais ça ne correspond pas par la suite avec les case qui se cochent.... comme si y'avait un pb de nomination des chbx....mais ce n'est pas le cas... je comprends pas!

Ce qui était bien par contre ds mon cas au début, c'est que lorsque je choisisais le cas 1 ça me cocher les cases correcpondantes, mais si je passais direct au cas 2 sans faire CLEAR j'avais en fait le cas 1+2.... pk ça ne fait pas pareil là sur le cas de tatiak?

@+
 

koko_spv89

XLDnaute Occasionnel
Re : simplification multiples checkboxs

RE,

Merci tatiak ;)

Est-il possible d'appeler les Chbx avec autre chose que :
Code:
Call Chbx(A, B)
????

Comment peut-on appeler les Chbx 1 à 5, 8 et 13 (par ex) sans faire :
Code:
Call Chbx(1, 5)
Call Chbx(8, 8)
Call Chbx(13, 13)
????

Thank's
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 677
Messages
2 090 825
Membres
104 677
dernier inscrit
soufiane12