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

VBA : Macro Affichage ou Désaffichage de feuilles

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

V

virgal

Guest
Bonjour,

J'ai créé une macro pour afficher ou non des feuilles en fonction des informations marquées (voir pièce ci jointe)

Voici la macro en question.
Le problème est que cela bugue et je suis obligé de la stopper par echap.
Là je découvre alors que la valeur i toujours égale à 1 ce que je ne comprends pas.

Merci d'avance de votre aide

 

Pièces jointes

Re : VBA : Macro Affichage ou Désaffichage de feuilles

Merci cela m'a debuggué partiellement ma solution.

J'ai ainsi pu faire d'autres modifs.
Cela mets un temps fou à se finir du coup je suis obligé d'interompre.

 

Pièces jointes

Re : VBA : Macro Affichage ou Désaffichage de feuilles

je souhaite afficher des feuilles par thème

les 2 premières lignes indiquent la catégorie que je souhaite afficher

les lignes suivantes paramètrent chaque catégorie.
le fichier final comportera plus d'une quarantaine de feuille et je souhaite afficher que celle qui m'intéresse. Afficher les 40 d'un coup serait illisible.
 
Re : VBA : Macro Affichage ou Désaffichage de feuilles

Merci bien Lii,

Cela correspond à ce que je voulais ...

Je ne comprends pas ta remarque sur la boucle ... J'ai 3 boucles DO... LOOP UNTIL et 2 IF comme dans ta solution sauf que toi tu utilises un IIf() (fonction que je ne connaissais pas par ailleurs).

Autre question : tu as utilisé une autre fonction UCase
UCase(Cells(yini, 2).Value) = "OUI"
A quoi sert-elle ? par rapport à
Cells(yini, 2).Value = "OUI"
Cette fonction m'est inconnue jusqu'à ce moment. Il s'agit pour moi d'en comprendre son utilisation.

Encore merci,
 
Re : VBA : Macro Affichage ou Désaffichage de feuilles

Salut,

Comme je suis la et que j'ai un peu suivi le fil, j'en profite pour te répondre.
Alors Ucase permet de passer une chaine de caratère en majuscule et Lcase en minuscule.
Donc l'avantage avec UCase(Cells(yini, 2).Value) = "OUI" c'est que quelque soit la casse (=minuscule/majuscule) du texte présent dans la cellule (oui, Oui, OUi, ouI,...), la fonction UCase va te renvoyer une chaine majuscule = OUI qui sera donc comparable au "OUI" de ta condition.

Sinon, on a eu un petite débat lors de la rencontre XLD à ce sujet, mais tu peux utiliser la fonction Option Compare Text qui permet de ne plus tenir compte de la casse. Il te suffit de placer cette ligne de code tout en haut du module, avant tout autre code.

Et la fonction IIf que perso, je ne pense jamais à utiliser correspond à la formule SI dans une feuille de calcul. Je te laisse regarder l'aide vba (F1) si tu ne vois pas de quoi je parle.

@+
 
Re : VBA : Macro Affichage ou Désaffichage de feuilles

Merci porcinet82,

Pour IIF j'ai compris quand j'ai vu son utilisation mais j'ai vérifié par l'aide.

Pour ceux qui veulent suivre les modifications sans ouvrir le fichier
La macro est devenue maintenant (version Lii) :

 
- 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
5
Affichages
917
Réponses
4
Affichages
738
Réponses
2
Affichages
528
Réponses
15
Affichages
793
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…