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

Une fonction appelée avec plusieur checkbox

  • Initiateur de la discussion Initiateur de la discussion gzarka
  • 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 !

G

gzarka

Guest
Bonjour le forum,

Il est génial, j'ai réussi à faire plein de truc gràce à vos intervention... mais se coup si j'ai pas trouvé.

J'aurai voulu appeler un seul code avec mes différente checkbox mais que celui ci change en fonction du numero de checkbox.
Voila mon code qui marche mais je le met pour chaque checkbox :

Code:
Private Sub CheckBox1_Click()

   N = 1
   If Controls("CheckBox" & N).Value = True Then
      Columns(N).EntireColumn.Hidden = False
   Else
      Columns(N).EntireColumn.Hidden = True
   End If

End Sub

Donc grosso modo est ce possible de recuperer le numero de checkbox cliquée et mettre le meme code pour toute les checkbox
Image idéale du code souhaité:

Code:
Private Sub CheckBoxN_Click()

   If Controls("CheckBox" & N).Value = True Then
      Columns(N).EntireColumn.Hidden = False
   Else
      Columns(N).EntireColumn.Hidden = True
   End If

End Sub

Grosso modo le N se modifie tout seul avec le numero de checkbox.

Voila j'espere que cela est solvable.

A vos neurones! 🙂
 
Re : Une fonction appelée avec plusieur checkbox

Bonsoir gZarka,

Nous parlons de combiens de checkboxes?

Peut-être qu'un fichier amaigri serait plus rapide à nous montrer ton besoin.

Dans le fichier joint: un exemple avec un module de classe

A bientôt
 
Dernière modification par un modérateur:
Re : Une fonction appelée avec plusieur checkbox

Ca à l'air d'etre ce qu'il me faut... je creuse un peu et je revien vous embeter si je bloque ou si tout est bon je mettrai mon code pour les suivants.

Encore merci Hasco... on peut vraiment tout faire, excel ne finira jamais de me surprendre 😀.
 
Re : Une fonction appelée avec plusieur checkbox

Alors apres m'etre arraché les cheveux pour comprendre (Je suis dur à la détente), j'arrive à ca.
Probleme: .Tag renvoie un String et il me faudrait un Integer pour mon calcul. Une solution?

J'en profite pour demander comment mettre nb_GenBox, nb_MecBox et nb_EleBox en global (Pour tout le fichier).

Explication du fichier:
J'ai 3 groupes: General, electronics, mecanics. Dans ces 3 groupes il y a différents items. La premiere Checkbox de la page du groupe correspond à la premiere colonne du groupe et la derniere à la derniere. Mon but étant de cacher le bonne colonne sans avoir un code pour chaque checkbox.

Comme vous pouvez le voir j'ai pas mal de colonne et ca va surement changer dans le future. J'essaye donc d'avoir quelque chose le plus generique possible pour avoir peut de changement à faire.

Merci d'avance pour le temps que vous me consacré 🙂


Pieces jointe retiré... voir plus bas.
 
Dernière modification par un modérateur:
Re : Une fonction appelée avec plusieur checkbox

Bonjour gZarka,

.Tag renvoie un String et il me faudrait un Integer pour mon calcul

Avec les fonctions de conversions: Val(.tag), CInt(.tag) etc.

J'en profite pour demander comment mettre nb_GenBox, nb_MecBox et nb_EleBox en global (Pour tout le fichier).

Dans la section déclaration d'un module:
Public nb_MecBox As Integer
Public nb_GenBox As Integer
Public nb_EleBox As Integer

____________

Je n'arrive pas à ouvrir ton fichier zip.

A bientôt
 
Dernière modification par un modérateur:
Re : Une fonction appelée avec plusieur checkbox

Ah mince pour le zip... mais obligé sinon il est trop gros.

Je vais essayer ca, normalement si j'ai bien compris c'est la que ca coince.

Je vous tien au courant 😀
 
Re : Une fonction appelée avec plusieur checkbox

Alors les variables globales marchent mais pas le cast 😡

Voici la ligne qui bloque avec le message "incompatibilité de type":

Code:
Public Sub LesGenBox_Click()

Columns( 3 + CInt(LesGenBox.Tag)).EntireColumn.Hidden = IIf(LesGenBox.Value, False, True)

End Sub

Et voici le zip, j'espere que ce coup ci ca passe 😕
 

Pièces jointes

Dernière modification par un modérateur:
Re : Une fonction appelée avec plusieur checkbox

Zarka,

Bien-sûr si tu ne mets rien dans la propriété Tag des checkbox, il ne peut y avoir qu'une erreur.

voici ton fichier modifié.

1 seuls module de classe pour tous les checkboxes
A l'initialisation du userform si les colonnes idoines sont visibles les checkbox sont cochés.
sur click ils cache ou décache les colonnes.

A toi de vérifier si je ne me suis pas trompé dans les index de colonnes.

Je te suggère de ne pas fusionner les cellules de titre mais de faire un alignement centré sur plusieurs colonne format cellule/alignement/Horizontal-> centré sur plusieurs colonnes

A+
 
Dernière modification par un modérateur:
Re : Une fonction appelée avec plusieur checkbox

Ouha génial! Merci! C'est ce qu'il me fallait.

J'étudie tout ca faut que je comprenne mais encore un grand merci.🙂
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
179
Réponses
5
Affichages
917
Réponses
18
Affichages
1 K
Réponses
9
Affichages
509
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…