Reset bouton pour toutes cases cocher d'une meme colonne

Résolu/Fermé
Nico - 8 août 2014 à 10:58
 Nico - 11 août 2014 à 09:31
Bonjour,

J'ai un bouton de commande qui reset mes cases à cocher (active X) c'est à dire que lorsque j'appui sur ce bouton toutes ces cases se décochent.
Mon soucis c'est que j'ai pas mal de cases et elles ne sont pas dans l'ordre, mais elles se trouvent sur la même colonne.

J'ai ce code :
Private Sub CommandButton1_Click()
For x = 1 To 75
ActiveSheet.OLEObjects("CHECKBOX" & x).Object.Value = False
Next x
End Sub

Ca marche pour les 75 cases mais entre ses cases j'en ai rajouter elle le numéro est > à 75 donc j'aimerais que ca prennent la colonne en compte directement pour ne pas avoir avec le soucis des numéros de checkbox qui est pris en compte dans mon code.

En esperant avoir été clair.
A voir également:

8 réponses

jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 422
8 août 2014 à 11:05
Bonjour


Dans ton code tu remplaces le 75 par le nombre de case que tu as
For x = 1 To 75
Cordialement
0
C'est pas ce que je recherche car j'ai x bouton pour x colonne .. j'ai donc des chekcbox répartie sur ces x colonnes..
0
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 422
8 août 2014 à 11:21
Ce n'est pas ce que tu dis dans tes 2 premières phrases, on comprend un bouton une colonne.
Il faut être précis dans tes demandes.
Crdlt
0
oui x bouton pour x colonne, chaque bouton pour chaque colonne
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jc80 Messages postés 4149 Date d'inscription mardi 5 février 2013 Statut Membre Dernière intervention 25 février 2019 1 422
8 août 2014 à 11:31
Mets un exemple de ton fichier sur le site ci-dessous et joins le lien dans ta prochaine réponse

https://www.cjoint.com/
0
http://cjoint.com/?3Hio7Eant5n

Voila ;)
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
8 août 2014 à 15:16
Bonjour,

Ce code regarde la propriété Left des Checkbox. Si elle est voisine de la propriété Left de la colonne (C dans l'exemple), à + ou - 10, c'est que le checkbox est concerné donc ...

Private Sub CommandButton1_Click()
Dim GaucheCol As Integer
Dim obj As OLEObject

GaucheCol = Sheets("Feuil1").Range("C1").Left
For Each obj In ActiveSheet.OLEObjects
    If Left(obj.Name, 5) = "Check" And obj.Left < GaucheCol + 10 And obj.Left > GaucheCol - 10 Then
        obj.Object.Value = False
    End If
Next obj
End Sub 

0
Pas très bien compris...
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
8 août 2014 à 15:45
Tes CheckBox sont rangées "par colonne".
Elles ont une propriété Left qui représente la distance entre le bord gauche de l'application et leur propre bordure gauche.
Les cellules ont également une propriété Left qui représente la distance entre le bord gauche de l'application et leur propre bordure gauche.

Si tu connais la distance Left de ta colonne C, tu peux voir si, à peu près, tes checkbox sont placées dans cette colonne.

C'est ce que fait le code.
GaucheCol
= propriété Left de la colonne C
For Each obj In ActiveSheet.OLEObjects
= boucle sur tous les contrôles de ta feuille
If Left(obj.Name, 5) = "Check" 
: vérifie qu'il s'agit d'un checkbox (car tu as aussi des boutons)

obj.Left < GaucheCol + 10
Si le bord gauche du contrôle est inférieur ou égal à 10 + bordure gauche de la colonne

obj.Left > GaucheCol - 10
si la gauche du contrôle est supérieur à la gauche de la colonne - 10

10
: pas des centimètres, mais des points (Excel ne compte même pas en pixels...)
0
Merci pour ces explications détaillées.
Cela ne marche pas, j'ai du passer en Sub sans le private ..
Bug notamment pour : If Left(obj.Name, 5) = "Check"0
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
8 août 2014 à 16:23
Et pourtant cela fonctionne tel que je te l'ai mis...

Ci-joint ton classeur avec une fonctionnalité en plus.
Je t'ai déplacé deux cases à cocher pour te montrer l'utilité de la propriété Left
0
pas de message d'erreur mais ca ne fonctionne pas.
Il s'agit d'un bouton reset "remise à 0" et non cocher/ decocher.
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
8 août 2014 à 16:36
Une checkbox n'admet que 2 valeurs : False et True. Jamais 0...
0