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

utiliser contenu d'une cellule selon contenu d'une autre cellule

MaTThi9u

XLDnaute Nouveau
Bonjour,
le titre est je pense un peu flou et je m'en excuse.

Dans le fichier joint lorsque je sélectionne dans le menu de la feuil1 le secrétaire, la feuil2 est masquée; lorsque je sélectionne dans le menu de la feuil1 le chef, la feuil2 est affichée.

Dans la feuil3 une liste des onglets généré par macro ...

Ce que je ne parviens pas à faire:
afficher ou masquer les onglets de la liste en fonction de la personne sélectionnée (si "x" alors masque)​

merci par avance pour votre aide.
 

Pièces jointes

  • test.xlsm
    18.1 KB · Affichages: 33
  • test.xlsm
    18.1 KB · Affichages: 46

CPk

XLDnaute Impliqué
Re : utiliser contenu d'une cellule selon contenu d'une autre cellule

Bonjour, je suis ok pour vous aider mais le fichier final aura t'il les mêmes emplacement de cellule que celui-ci ?
 

MaTThi9u

XLDnaute Nouveau
Re : utiliser contenu d'une cellule selon contenu d'une autre cellule

Oui les mêmes emplacements, mis à part en cas d'ajout ou suppression de feuilles ... la liste se verrait réduite ou augmenté ...
 

job75

XLDnaute Barbatruc
Re : utiliser contenu d'une cellule selon contenu d'une autre cellule

Bonjour MaTThi9u, bienvenue sur XLD, hello CPk,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ref As Range, tablo As Range, j As Variant, i&
Set ref = [B2] 'à adapter
If Intersect(Target, ref) Is Nothing Then Exit Sub
Set tablo = Feuil3.[M2:O5] 'CodeName+plage, à adapter
j = Application.Match(ref, tablo.Rows(1), 0)
On Error Resume Next 'si la feuille n'existe pas
For i = 2 To tablo.Rows.Count
  If IsError(j) Then
    Sheets(CStr(tablo(i, 1))).Visible = True
  Else
    Sheets(CStr(tablo(i, 1))).Visible = tablo(i, j) = ""
  End If
Next
End Sub
Si l'on efface B2 toutes les feuilles sont affichées.

A+
 

MaTThi9u

XLDnaute Nouveau
Re : utiliser contenu d'une cellule selon contenu d'une autre cellule

merci pour la réponse rapide mais serait-il possible de ne pas créer le tableau mais plutôt vérifier ligne par ligne afin de pallier a l'ajout de feuille qui nécessite du coup l’estimation éventuelle de la plage ?
 

job75

XLDnaute Barbatruc
Re : utiliser contenu d'une cellule selon contenu d'une autre cellule

Re,

Ma macro ne "crée" pas le tableau en Feuil3 et elle le vérifie ligne par ligne

Si vous ne voulez pas avoir à modifier la macro chaque fois que vous ajoutez des feuilles il suffit de prendre de la marge :

Code:
Set tablo = Feuil3.[M2:O100] 'CodeName+plage, à adapter
A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…