Microsoft 365 ( résolut ) afficher les données selon le crêter de la liste déroulante

bahnini mohamed

XLDnaute Occasionnel
bonjour les amis
j'ai un tableau ou il y a trois colonnes ( opérateur, chef d'équipe et chef d'atelier )
j'ai crié une liste déroulante (cellule jaune) contenant ces trois éléments et je veux afficher les lignes et les colonnes contentant (x) pour chaque critère
c'est à dire si je choisi operateur le tableau affiche seulement les lignes et les colonnes contenant (x) pour l'opérateur
j'espère que la question est claire
merci d'avance pour votre coopération
 

Pièces jointes

  • Classeur1.xlsx
    18.5 KB · Affichages: 4
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour bahnini mohamed,

Un essai via VBA.
Si on efface la valeur de B2 (touche Suppr) alors on affiche toutes les lignes.
Le code est dans le module de la feuille "Feuil1".
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim derlig&, idx&, i&
   Application.ScreenUpdating = False
   If Target.Address(0, 0) <> "B2" Then Exit Sub
   If Target = "" Then Me.UsedRange.Rows.EntireRow.Hidden = False: Exit Sub
   derlig = Me.UsedRange.Row + Me.UsedRange.Rows.Count - 1
   idx = 3 + Application.Match(Target, Range("d4:f4"), 0)
   For i = derlig To 5 Step -1: Cells(i, 1).EntireRow.Hidden = Cells(i, idx) <> "x": Next i
End Sub
 

Pièces jointes

  • bahnini mohamed- afficher lignes- v1.xlsm
    25.3 KB · Affichages: 6

bahnini mohamed

XLDnaute Occasionnel
Bonjour bahnini mohamed,

Un essai via VBA.
Si on efface la valeur de B2 (touche Suppr) alors on affiche toutes les lignes.
Le code est dans le module de la feuille "Feuil1".
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim derlig&, idx&, i&
   Application.ScreenUpdating = False
   If Target.Address(0, 0) <> "B2" Then Exit Sub
   If Target = "" Then Me.UsedRange.Rows.EntireRow.Hidden = False: Exit Sub
   derlig = Me.UsedRange.Row + Me.UsedRange.Rows.Count - 1
   idx = 3 + Application.Match(Target, Range("d4:f4"), 0)
   For i = derlig To 5 Step -1: Cells(i, 1).EntireRow.Hidden = Cells(i, idx) <> "x": Next i
End Sub
merci infinimen(
[/QUOTE]

Bonjour bahnini mohamed,

Un essai via VBA.
Si on efface la valeur de B2 (touche Suppr) alors on affiche toutes les lignes.
Le code est dans le module de la feuille "Feuil1".
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim derlig&, idx&, i&
   Application.ScreenUpdating = False
   If Target.Address(0, 0) <> "B2" Then Exit Sub
   If Target = "" Then Me.UsedRange.Rows.EntireRow.Hidden = False: Exit Sub
   derlig = Me.UsedRange.Row + Me.UsedRange.Rows.Count - 1
   idx = 3 + Application.Match(Target, Range("d4:f4"), 0)
   For i = derlig To 5 Step -1: Cells(i, 1).EntireRow.Hidden = Cells(i, idx) <> "x": Next i
End Sub
merci infiniment monsieur
vraiment incroyable
problème résolut
 

Discussions similaires

Statistiques des forums

Discussions
312 209
Messages
2 086 263
Membres
103 167
dernier inscrit
miriame