Reset bouton pour toutes cases cocher d'une meme colonne
Résolu
Nico
-
Nico -
Nico -
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.
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:
- Reset bouton pour toutes cases cocher d'une meme colonne
- Déplacer une colonne excel - Guide
- Comment reset un pc - Guide
- Trier une colonne excel - Guide
- Hard reset samsung sans bouton home - Guide
- Colonne word - Guide
8 réponses
Bonjour
Dans ton code tu remplaces le 75 par le nombre de case que tu as
For x = 1 To 75
Cordialement
Dans ton code tu remplaces le 75 par le nombre de case que tu as
For x = 1 To 75
Cordialement
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..
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
Il faut être précis dans tes demandes.
Crdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mets un exemple de ton fichier sur le site ci-dessous et joins le lien dans ta prochaine réponse
https://www.cjoint.com/
https://www.cjoint.com/
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 ...
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
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.
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 + 10Si le bord gauche du contrôle est inférieur ou égal à 10 + bordure gauche de la colonne
obj.Left > GaucheCol - 10si 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...)
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
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