Plusieures CheckBox avec boucle et condition

Neptune

XLDnaute Junior
Bonjour à tous,

N'ayant pas trouvé de solutions dans les archives du forum, je m'adresse une nouvelle fois à vous...

J'ai une feuille qui contient une liste en colonne B de plusieurs références et à côté en C le nombre de références.

J'y ai rajouté dans la colonne D des check box venant de View -Toolbars ,non pas de "Forms" mais de "Control ToolBox".Il ya donc un chekc box en face de chaque lignes. Je peux avoir plus de 100 lignes pour certain catalogue de références!

J'ai vu que l'on pouvait utiliser Controls("CheckBox" & i) pour utiliser une boucle mais le control ne marche pas (peut être du au fait que mes check box viennet de Control ToolBox et non pas Forms!D'ailleurs quelle est la différence ?ça fait la même chose non? sauf que j'aime pas les macros (avec Forms)cela crée des modules...

J'ai une seconde feuille2 qui contient aussi des checkbox. Je souhaiterai que lorque je clique sur une chekc box en feuille1, que la check box associée de la feuille 2 soit aussi validée et inversement.

Exemple:
Private Sub CheckBox1_Click()

If ActiveSheet.CheckBox1.Value = True Then

Sheets("feuil2").CheckBox1.Value = True

Else

Sheets("feuil2").CheckBox1.Value = False

End If
End Sub

Le hic c'est que je voudrais automatisé cela.

Je voudrais par exemple que le checkbox associé à la ligne par exemple 48 de la feuil1 trouve LUI MEME le checkbox correspond en feuil2.
Dans la colonne B, j'ai une référence.Cette référence est rappelée dans le Caption de l'une des check box de la feuil2.(dans l'exemple ci-dessus tout est à 1)

Je vous mets un exemple, ce sera plus clair j'espère!lol

merci d'avance
 

Pièces jointes

  • CHECKBOX.xls
    47.5 KB · Affichages: 65
  • CHECKBOX.xls
    47.5 KB · Affichages: 61
  • CHECKBOX.xls
    47.5 KB · Affichages: 61
G

Guest

Guest
Re : Plusieures CheckBox avec boucle et condition

bonjour Neptune,

Pour la question numéro 2 :
Je souhaiterai que lorque je clique sur une chekc box en feuille1, que la check box associée de la feuille 2 soit aussi validée et inversement.

Dans Feuil1
Code:
Private Sub CheckBox1_Click()
    Sheets("feuil2").CheckBox1.Value = CheckBox1
End Sub

Dans Feuil2
Code:
Private Sub CheckBox1_Click()
    Sheets("feuil1").CheckBox1.Value = CheckBox1.Value
End Sub

Pour le reste, je n'ai pas compris ce que tu voulais exactement.

A+
 

Neptune

XLDnaute Junior
Re : Plusieures CheckBox avec boucle et condition

En fait, le checkbox1 de la feuil1 ne correspondra pas tout le temps à la checkbox1 de la feuil2. si je colle un nouveau catalogue , la référence en B ne sera pas forcément la même.

Il faut que les checkbox soient associées entre les deux feuil PAR RAPPORT à la référence en B avec le bouton de la feuil2...

Tout sera codé en "dur" sauf la colonne B et C qui eux sont des datas que je colle.Des fois j'aurais plein de références, des fois moins, des fois j'aurais DU 33120a mais pas tout le temps..des fois j'en aurai mais qui seront sur la ligne 12 ou 15 ou 35...la check box correspondante ne sera donc plus égale à celle de la feuil2...

C'est plus clair?
 
G

Guest

Guest
Re : Plusieures CheckBox avec boucle et condition

Re Neptune,

Voici pour la feuil1

Je te laisse explorer pour trouver la solution pour feuil2.
si tu as des problèmes, reviens.

Code:
Private Sub CheckBox1_Click()
    SetValeur Me.CheckBox1
End Sub
 
Private Sub SetValeur(CheckBox As Object)
    Dim ValeurTexte As String
    Dim Obj As Object
    ValeurTexte = Range("B" & CheckBox.TopLeftCell.Row)
    For Each Obj In Sheets("feuil2").DrawingObjects
        If TypeName(Obj.Object) = "CheckBox" Then
            If Obj.Object.Caption = Caption Then
                Obj.Object.Value = CheckBox.Value
                Exit For
            End If
        End If
    Next
End Sub

Tu n'aimes pas les modules mais ceuxci s'avèrent très partiques, notament dans un cas comme celui-ci ou tu pourrais n'avoir qu'une procédure public SetValeur à laquelle passer l'objet recherché et la feuille recherchée.

A+
 

Neptune

XLDnaute Junior
Re : Plusieures CheckBox avec boucle et condition

Je voudrais faire qqchose comme ça:

Dans feuil1

Private Sub CheckBox1_Click()


Sheets("feuil2").Controls("CheckBox" & Sheets("feuil1").Cells(ActiveCell.Row, 2)).Value = CheckBox1.Value

End Sub

Message erreur:

Run-time error'438'
Object doesn't support this property or method

Ca vient pas du fait que mon check box soit de control toolbox et non pas forms (excel 2003)?
 

Discussions similaires

Statistiques des forums

Discussions
312 307
Messages
2 087 095
Membres
103 467
dernier inscrit
Pandiska