VBA filtre élaboré aide à la correction

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 !

fb62840

XLDnaute Impliqué
Bonjour à toutes et à tous,

En pièce-jointe un fichier contenant une macro qui devrait produire le résultat suivant :
1) Copier le contenu de la feuille "base"
2) l'utilisateur disposera alors de 4 critères (1 au minimum)
3) si la cellule de la base contient l'un des mots contenu comme critère alors afficher la ligne intégrale
4 s'il y a plusieurs critères alors il faudra que pour une même ligne dans la colonne 1 il faudra trouver le mot critère 1, dans la colonne 2 le mot critère 2, etc

Merci beaucoup pour votre aide,

Le "top" serait de passer par un formulaire plutôt que par cette affichage, mais bon...

Bonne journée
 

Pièces jointes

Re : VBA filtre élaboré aide à la correction

Bonjour Fb, bonjour le forum,

Je n'ai rien compris ni à ta demande ni à ton code... Pour le second, tu mets des With mais tu oublies de mettre le point (
.) devant le Range (.Range) qui y fait référence. Telle qu'elle est ta macro passe toujours par le Exit Sub sans rien faire.
Ce que je te propose c'est de nous renvoyer une fichier avec quelques données. Dans l'onglet Feuil1, ce que tu as avant traitement et dans l'onglet Feuil2 ce que tu souhaiterais obtenir après traitement. Comme ça, ça sera plus clair et on pourra te venir en aide.
 
Re : VBA filtre élaboré aide à la correction

Bonjour Robert,

Je m'explique et j'ajoute en pj un fichier avec données.

Explications :
Dans une base de données sont listées :
des numéros de questions, des thèmes, des questions, des réponses à ces questions

Je souhaite que l'utilisateur puisse en spécifiant l'un ou l'autre des critères (exemple :critère 2 dans la colonne Thème contiennent le mot "direct" et critère 3 dans la colonne Question le mot "unit" -les critères 1 et 4 n'étant pas renseigné)

Avec le fichier joint j'espère que cela permettra d'y voir plus clair.

Merci
 

Pièces jointes

Re : VBA filtre élaboré aide à la correction

Bonjour,

J'ai rien compris à ton code alors je l'ai supprimé et fait un à ma sauce...

regarde si cela te convient

mikachu

Bonjour,

En fait il faudrait remplacer les = des codes, exemple :
Code:
If Sheets("base").Range("a" & a).Value = Range("a3").Value Then testC1 = True
par une expression est dans la chaîne de caractère

Ainsi si l'utilisateur saisie un mot, la ligne chercherait si le mot était présent dans la cellule et dans l'affirmative afficherait la ligne complète (à la condition bien entendu que les autres critères soient également vérifiés.

Merci
 
Re : VBA filtre élaboré aide à la correction

Bonjour,

En fait il faudrait remplacer les = des codes, exemple :
Code:
If Sheets("base").Range("a" & a).Value = Range("a3").Value Then testC1 = True
par une expression est dans la chaîne de caractère

Ainsi si l'utilisateur saisie un mot, la ligne chercherait si le mot était présent dans la cellule et dans l'affirmative afficherait la ligne complète (à la condition bien entendu que les autres critères soient également vérifiés.

Merci


Plutot comme ça donc ?
 

Pièces jointes

Re : VBA filtre élaboré aide à la correction

Voilà !

J'ai laissé le bouton de filtre direct et j'ai ajouté un bouton pour le filtre via UserForm.
Les deux remplissent la même fonction.

Pour l'userform, rien de plus basique: 4 zones de texte, un bouton ok et un bouton annuler

mikachu
 

Pièces jointes

Re : VBA filtre élaboré aide à la correction

Merci beaucoup.

Sur la Feuil2 se trouvent 2 boutons, l'un nommé CommandButton1, l'autre CommandButton2.
Le clic sur CommandButton 1 exécute le code de la macro Private Sub CommandButton1_Click(), l'autre affiche le Userform.

Sur le userform le bouton OK porte également le nom CommandButton1, et le bouton Annuler le nom CommandButton2.
Le clic sur le bouton OK exécute la macro Private Sub CommandButton1_Click(), l'autre masque le Userform.

Mes questions sont sans doute un peu idiotes...
S'agit-il des mêmes boutons qui seraient "partagés" l'un par la feuille, l'autre par le formulaire ?
Un bouton a une propriété nom, un même nom peut-il être attribué à deux objets distincts ?
 
Re : VBA filtre élaboré aide à la correction

Non ce sont des boutons distincts.
tu as des commandbutton (1 et 2) "attribués" à la feuille de calcul et d'autres à l'userform.

Le nom peut être identique puisqu'ils ne sont pas sur le même "objet"

De la même manière, tu pourrais avoir un commandbutton1 sur la feuille "Base" qui aurait une macro complétement différente
 
- 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

Réponses
40
Affichages
3 K
Réponses
22
Affichages
1 K
Réponses
5
Affichages
532
Retour