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

Microsoft 365 Filtrer un tableau à partir de la selection d'une cellule

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 !

Vins74000

XLDnaute Nouveau
Bonjour à tous,

J'ai déjà pas mal cherché sur les fils de discussion existant, mais je n'arrive pas a appliquer les solutions proposées à mon fichier, j'aurais bien besoin de votre aide d'experts!
Apres plusieurs essais avec des codes trouvés ici et ailleurs, je bloque toujours.

Dans le fichier joint, je souhaites afficher dans l'onglet "suivi menuiserie" uniquement les lignes dont la série à été sélectionnée.
Pour la sélectionner, j'ai créé une liste dans l'onglet "menu" ou s'affiche toutes les séries de "suivi menuiserie" qui ont été enregistrées.

est ce que vous pourriez m'aider ?
j'aime comprendre ce que je fais, si en plus je pouvais avoir quelques explications sur le fonctionnement de la solution proposée, ce serait magique! (c'est bientôt Noel!! 😉 )
 

Pièces jointes

Bonjour le fil

Vins74000
J'aimerais t'aider mais Excel 2013 ne connait
=_xlfn.ANCHORARRAY(INTERDIT!$A$2)
Donc la liste déroulante est figée sur mon PC.

Je passe le relais pour le moment à ceux qui ont une version plus récente d'Excel.
 
Bonjour,

Dans le code de la feuille 'Menu' du fichier joint, vous trouverez cette simple macro de filtrage de votre tableau.
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) = "C4" And Not IsEmpty(Target) Then
        ' Filtrage par numéro de série du tableau
        Sheets("Suivi menuiserie").ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:=Target.Value
    End If
End Sub

Cordialement

P.S. Hello l'agrafe 🙂 Idem, n'ai pas pu me servir de la liste de validation.

[Edit] Hello @cp4
 

Pièces jointes

Re, Bonjour cp4 😉, Roblochon 😉

Après mon café, j'ai repris conscience 😉
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim crit
If Target.Address = "$C$4" Then
crit = Target.Value
Feuil3.Activate
ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=1, Criteria1:=crit, Operator:=xlAnd
End If
End Sub
NB: je crois que je vais finir par sortir les sous pour upgrader mon Excel 😉
Test OK sur mon Excel 2013
(Mais j'ai du faire ma propre liste de validation à la mimine sans utiliser UNIQUE)
😉
 
Re,

Quelle est la version de ton Excel?
Comme ta liste la formule de validation ni chez moi (Excel2010), ni chez Staple (Excel2013).
Tu peux ajouter ce code pour la liste de validation. Qui, je suppose fonctionnera chez toi aussi.
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range, c as range, d as object

With Sheets("Suivi menuiserie")
Set Rng = .Range("A6:A" & .Range("A" & Rows.Count).End(xlUp).Row)
End With
 
If Target.Address = "$C$4" Then
    Set d = CreateObject("Scripting.Dictionary")
    For Each c In Rng: d(c.Value) = "": Next c
    Target.Validation.Delete
    Target.Validation.Add xlValidateList, Formula1:=Join(d.keys, ",")
  End If
End Sub
 
- 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

Discussions similaires

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