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

XL 2013 Extraction d'une lite de données via un formulaire

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

P

pierre811517

Guest
Bonjour,

j'ai une base de données de X lignes.
Je souhaiterais afficher via un formulaire une partie de cette base en fonction de 2 critères (voire plus). Exemple: extraire le nombre de ligne si critère1=a et critère2=b
Je n'y arrive pas du tout.
Pourriez vous m'aider svp?

Merci par avance,

bien cdt,

Pierre
 
J'ai dit nombreux exemples sur le forum !!!

Lisez la Charte du forum avant de joindre votre fichier.
charte lue merci beaucoup. J'ai mis un exemple de fichier. Pour être précis je souhaiterais créer un formulaire pour extraire les l'ensemble des lignes ou code=9L et code1=774060 par exemple. Merci.
 

Pièces jointes

Voici une proposition au plus simple
Non, le plus simple c'est de se passer d'UserForm, voyez le fichier joint et cette macro :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If FilterMode Then ShowAllData 'si la feuille est filtrée
Range("B2:E" & Range("B" & Rows.Count).End(xlUp).Row).AdvancedFilter xlFilterInPlace, [F2:F3]
End Sub
Elle se déclenche quand on modifie ou valide une cellule quelconque.

Formule du critère en F3 :
Code:
=ESTNUM(CHERCHE(B$1;B3))*ESTNUM(CHERCHE(C$1;C3))*ESTNUM(CHERCHE(D$1;D3))*ESTNUM(CHERCHE(E$1;E3))
Tout cela est facilement adaptable si l'on veut ajouter ou supprimer des colonnes.
 

Pièces jointes

petite questions complémentaire: sur le fichier que je vous ai mis, si je veux ajouter des colonnes mais que je ne veux pas les filtrer (qu'elles apparaissent seulement dans le résultat), que faut-il modifier dans le code? merci
C'est simple :
* renseigner la dernière colonne dans la variable Td (sub Usf) au lieu de D dans Td = .Range("A1: D" & lg).Value
* ensuite dans les propriétés de la Listbox, il suffit d'indiquer le nb de colonnes à afficher à la ligne "ColumnCount" (pour l'instant 4)
P.
 
Fichier (2) avec un tableau structuré :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If FilterMode Then ShowAllData
ListObjects(1).Range.AdvancedFilter xlFilterInPlace, [G2:G3]
End Sub
 

Pièces jointes

- 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
7
Affichages
970
Réponses
65
Affichages
6 K
L
Réponses
4
Affichages
1 K
lamine12
L
E
Réponses
5
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…