Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

nom d'une CheckBox en fonction d'une valeur

  • Initiateur de la discussion Initiateur de la discussion Jx7
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jx7

XLDnaute Nouveau
Bonjour,

J'ai une N feuilles numérotées + une feuille principale dans laquelle j'ai N CheckBox.
J'ai donc autant de feuilles numérotées que de CheckBox.
Dans chaque feuille numérotée j'ai une CheckBox censée avoir la même valeur que la CheckBox N de la feuille principale.
Vous me suivez?

Donc mon problème c'est que j'aimerais que les CheckBox se mettent à jour d'un côté comme de l'autre mais j'ai du mal...

Pour le moment j'ai ça:

Code:
Sub CheckBox1_Click()

If Sheets("01").CheckBox_01.Value = True Then
 Sheets("01").CheckBox_01.Value = False
 Else
 Sheets("01").CheckBox_01.Value = True
End If

Call toto

End Sub
Code:
Sub toto()
msgbox ("coucou")
End Sub

Ce que j'aimerais c'est un truc de ce genre là:

Code:
Sub CheckBox1_Click()
Call toto("01")
End Sub
Code:
Sub toto(num As String)
If Sheets(num)."CheckBox_" & num & ".Value" = True Then
 Sheets(num)."CheckBox_" & num & ".Value" = False
 Else
 Sheets(num)."CheckBox_" & num & ".Value" = True
End If
msgbox ("coucou")
End Sub

De cette manière j'aurais pas besoin de réécrire le code des CheckBox de la feuille principale N fois, je Call ma Sub avec le numéro en paramètre. Sauf que là ça ne fonctionne évidemment pas...

Peut être même qu'il est possible de connaître le nom du Sub appelant pour en déduire le numéro de la CheckBox à modifier?

Merci de votre aide...
 
Re : nom d'une CheckBox en fonction d'une valeur

Bonjour Jx7,

à tester :

Code:
Sub toto(num As String)
If Sheets(num).OLEObjects("CheckBox_" & num).Object.Value = True Then
 Sheets(num).OLEObjects("CheckBox_" & num).Object.Value = False
 Else
 Sheets(num).OLEObjects("CheckBox_" & num).Object.Value = True
End If
MsgBox ("coucou")
End Sub

à noter que là ça n'a pas l'air de faire ce que tu décrivais ici :

Donc mon problème c'est que j'aimerais que les CheckBox se mettent à jour d'un côté comme de l'autre mais j'ai du mal...

vu que tu ne fais intervenir ta feuille principale nulle part

Edit : Bonsoir Pierrot 😉
 
Dernière édition:
Re : nom d'une CheckBox en fonction d'une valeur

Bonsoir,

pas sûr d'avoir bien cerné ton problème, mais peut être ainsi :

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

A utiliser dans les modules de feuille où se trouvent tes contrôles, le nom du "sheet" est celui que tu veux actionner simultanément....

bonne soirée
@+

Edition : bonsoir Toto
 
Re : nom d'une CheckBox en fonction d'une valeur

à noter que là ça n'a pas l'air de faire ce que tu décrivais ici :



vu que tu ne fais intervenir ta feuille principale nulle part
Oui bien vu!

Ton code fonctionne 🙂 Il manquait juste deux ".Object" ;-)

Merci.

En effet ça met à jour dans un sens mais pas dans l'autre... j'ai mal pensé mon truc...

Le problème c'est que si je met le même mécanisme dans l'autre sens ça va boucler...

Arf, faut trouver une autre solution...

Et sinon est-il possible de connaitre le nom de la fonction qui en a appelé une autre? Dans mon cas, une fois que je suis dans la Sub toto, j'aimerais savoir quelle fonction à appeler toto.
 
Dernière édition:
Re : nom d'une CheckBox en fonction d'une valeur

En mélangeant vos codes respectif j'ai réussi 🙂

que je coche l'une ou l'autre des CheckBox à "synchroniser" j'applique le code de Pierrot puis je fais mes modifs.

Un petit résumé:

Code:
Sub toto()
If ActiveSheet = "Feuil_principal" Then
 Sheets("Feuil_N").CheckBox_N = CheckBox_N
 Else
 CheckBox_N = Sheets("Feuil_N").CheckBox_N
End If
msgbox("Mes modifs")
End Sub

Merci à vous deux
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
508
Réponses
5
Affichages
241
Réponses
6
Affichages
306
Réponses
5
Affichages
264
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…