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

Faire apparaître/disparaître plages de cellule sous condition

tom1234

XLDnaute Nouveau
Bonjour,

Je me tourne vers le forum après de multiples recherches infructueuses et un niveau VBA de novice.

Je cherche à créer une macro afin de faire apparaitre/disparaitre une série de cellule selon un critère:

Dans le fichier joint, la feuille 1 nommée "SETUP" donne une série de tâches. Sur cette feuille, l'utilisateur est en capacité de spécifier si la tâche est applicable ou non (Colonne G). Si la tâche est applicable alors le nom de la catégorie (Ex: "Human Ressources") s'affiche en colonne B de la Feuille 2 pour la tâche correspondante, si la tâche est non applicable, "N/A" s'affiche au même endroit.

Je souhaite, grâce au bouton ( positionné colonne F, feuille 2), afficher ou masquer (bouton en vas-et-viens) les tâches correspondantes à une sous catégorie, mais seulement celles qui ont été définies comme "applicables".

J'ai du coup besoin d'une macro qui viendrais chercher dans la colonne E de la feuille 2 le mot "Human RessourcesTaskStaff Hiring" et qui afficherait les lignes correspondantes.

Je souhaite aussi que le fichier sois en capacité de me faire disparaitre ces mêmes lignes lorsque je reclique sur le bouton.

Voici le code que je suis arriver à confectionner mais qui ne fonctionne pas:


CODE : TOUT SÉLECTIONNER

Sub DUPSTAFFHIRING()
'
' DUPSTAFFHIRING Macro
'
Dim PlageSource As Range, PlageCible As Range, R As Range

Dim L As Long

'On cible toutes les cellules contenant une expression (constante) en colonne "B"

Set PlageSource = Sheets("DEPARTMENTAL TASK LISTS").Columns(5).SpecialCells(xlCellTypeConstants, 2)

'Pour chaque cellule visée

For Each R In PlageSource

'Contient-elle l'expression recherchée ?

If R.Value Like "Human RessourcesTaskStaff Hiring" Then

'Si oui, on stocke sa référence dans un objet range "PlageCible"

If PlageCible Is Nothing Then

Set PlageCible = R

Else

Set PlageCible = Union(PlageCible, R)

End If

End If

Next R


If Not PlageCible Is Nothing Then

PlageCible.EntireRow.Hidden = True


End If

End Sub
Je vous remercie mille fois pour votre aide
 

Pièces jointes

  • TEST EXCEL 2.xlsm
    109.6 KB · Affichages: 27

Discussions similaires

Réponses
49
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…