Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/08/2011, 15h19   #1
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
Par défaut Multi Selection Checkbox

Bonjour voilà j'ai crée un Userform avec 5 checkbox qui se rapporte à un tableau et un bouton de commande. Le but de la maneouvre est en fait de cocher les checkbox que l'on veut et ensuite lorsque l'on clique sur le bouton de commande certaines collones du tableau sont cachés ou montrés suivant les checkbox qui ont été coché.

En gros si je coche la checbox 1 je ne veux voir que les colonnes A à D, si je coches la 2 je veux voir E à G, etc...

Si je ne cochais qu'une checkbox à la fois ce ne serait pas compliqué, 5 If et je pense que le problème est résolu. Oui mais voilà j'aimerais pouvoir cocher plusieurs checkbox en même temps et qu'il me montre les bonnes colonnes. Si par exemple je coche 1 et 2 je dois voir A à D et E à G. Le problème c'est qu'à ce moment là il faudrait que je fasse des If pour toutes les combinaisons ce qui est bien trop lourd. Je voudrais savoir si vous aviez une idée pour résoudre ce problème. pour le coup je ne vois vraiment pas.

Je précise que pour l'instant la commande que j'utilise pour cacher mes colonnes est de ce type
Code :
1
2
If CheckBox2.Value = True Then
Sheet5.Columns("B:D").Hidden = True
Il y'a peut être une autre méthode pour le faire.

Si vous aviez une idée ce serait vraiment bien car la j'avoue que je pèche vraiment

Merci!
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h29   #2
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Bonjour,

Checkbox.Value renvoie un Boolean.
Columns("A:E").hidden attend un Boolean

on peut écrire sans utlisation de IF
Code :
1
2
3
Columns("A:D").Hidden = CheckBox1.Value
Columns("E:G").Hidden = CheckBox2.Value
Columns("H:M").Hidden = CheckBox3.Value
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h39   #3
Expert Confirmé
 
Philippe Tulliez
Développeur et formateur VBA, Excel et Word.
Inscription : janvier 2010
Messages : 1 306
Détails du profil
Informations personnelles :
Nom : Philippe Tulliez
Localisation : Belgique

Informations professionnelles :
Activité : Développeur et formateur VBA, Excel et Word.

Informations forums :
Inscription : janvier 2010
Messages : 1 306
Points : 2 654
Points : 2 654
Bonjour,
Pour compléter la réponse de Jérôme.
Si tu souhaites que les colonnes soit visibles si tu as coché les checkBox Il faut placer le Not
Code :
  Columns("E:F").Hidden = Not (CheckBox2.Value)
__________________
Philippe Tulliez
http://philippe.tulliez.be
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)

Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
corona est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h51   #4
Invité régulier
 
Femme
Étudiant
Inscription : août 2011
Messages : 63
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : août 2011
Messages : 63
Points : 6
Points : 6
Super!!! Cà fonctionne nickel avec le NOT devant. Je vais voir maintenant pour que ce soit le plus agréable et simple pour l'utilisateur.

Merci à vous deux.

Petite question pour ma culture perso et qui je pense pourra me servir. Qu'est ce qu'un boolean. Enfin quel type de caractère celà renvoie? De la même manière que renvoie String? Une chaine de caractère?
JulienLeno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 16h01   #5
Expert Confirmé Sénior
 
Avatar de jfontaine
 
Homme Jérôme FONTAINE
Contrôleur de Gestion
Inscription : juin 2006
Messages : 3 885
Détails du profil
Informations personnelles :
Nom : Homme Jérôme FONTAINE
Âge : 38
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Contrôleur de Gestion

Informations forums :
Inscription : juin 2006
Messages : 3 885
Points : 7 151
Points : 7 151
Voici ce que dit Excel sur les Boolean (ou Booléen)

Citation:
Boolean, type de données


Les variables de type Boolean sont stockées sous la forme de nombres de 16 bits (2 octets), mais elles ne peuvent avoir pour valeur que True ou False. Elles s'affichent sous la forme True et False (avec l'instruction Print) ou #TRUE# et #FALSE# (avec l'instruction Write #). Utilisez les mots clés True et False pour faire passer d'un état à l'autre des variables de type Boolean.

Lorsque d'autres types de données numériques sont convertis en valeurs de type Boolean, 0 devient False et toutes les autres valeurs deviennent True. Lorsque des valeurs de type Boolean sont converties en d'autres types de données, False devient 0 et True devient -1.
__________________
Jérôme

Citation:
"Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Marc Twain
Si la réponse répond à votre besoin, votre vote nous encouragera.
Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
jfontaine est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h02.


 
 
 
 
Partenaires

Hébergement Web