Macro pour verrouiller une checkbox

Bonjour à tous,

J'ai un petit problème. Je souhaite affecter une macro à une checkbox. Cette macro doit récupérer le nom de la checkbox, tester la valeur d'une autre case de ma feuille et en fonction de cette valeur, autoriser ou non de cocher la case.

Pour l'instant j'ai fait ça (sachant que l'argument "ligne" est défini ailleurs mais bien connu) :

Sub CheckBox()
   NomShape = Application.Caller
   If Range("G" & ligne).Text = "pouet" Then
   NomShape.Enable = False
   End If
End Sub

Merci d'avance, j'espère que quelqu'un pourra me débloquer !

Ptigone

Bonjour

deux types de CheckBox

celui du formulaire : Agir sur la cellule liée

Dans ce cas j'ai lié la case à cocher avec la cellule C10

Code dans un module

Sub CheckBox()
  ligne = 10
  If Range("G" & ligne).Text = "pouet" Then Range("C10") = False
End Sub

Celui de la boîte de contrôles

Plus simple (à mon avis)

Code dans la Feuille

Private Sub CheckBox1_Click()
ligne = 10
  If Range("G" & ligne).Text = "pouet" Then
    CheckBox1.Value = False
  End If
End Sub

Si je suis à côté : Désolé

Bonjour et merci pour votre aide !!

Le deuxième code à l'air en effet bon mais se pose le problème du nom de la CheckBox. Car ici c'est facile car il n'y a qu'une checkbox mais dans mon fichier excel, j'ai une centaine de checkbox et je ne peux pas faire une centaine de macro, une par checkbox, d'où la nécessité de récupérer le nom de celle-ci.

mais je viens de remarquer qu'une partie de ma question a sauté. Le problème est en fait que dans ma macro la variable NomShape ne marche pas dans l'instruction NomShape.Enabled=False.

j'ai essayé de convertir NomShape en string mais ça ne marche pas.

la vraie question est donc de trouver un moyen d'utiliser le nom de ma checkbox stocké dans NomShape.

Désolé pour le premier post qui n'était pas du tout clair du coup.

Ptigone

Bonjour

J'ai changé d'idée (il n'y a que les ....)

Avec des CheckBox dans une feuille je ne sais pas faire (dans un userform avec un module de classe)

Avec des cases à cocher

Regardes le fichier

C'est exactement ce que je voulais !!!

il ma manquait le Set Sh = ActiveSheet.Shapes(Application.Caller).

Merci beaucoup !!!

bonne soirée

Ptigone

Rechercher des sujets similaires à "macro verrouiller checkbox"