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

XL 2016 Recherchev multi-critères en VBA

Sb_OS

XLDnaute Junior
Bonjour le Fil,
je sais que cette question a été posée 1000 fois mais j'arrive toujours pas à comprendre l'algorithme donc j'ai pas pu l'adapter.
J'ai un tableau dans la feuil 1 rempli via une importation de données de la base de données Feuil 2.
je souhaite validé sur ma feuil de calcule Feuil 1 les produits qui sont livrés en tapant le texte FAIT dans la colonne C , une fois je valide tous ce que j'ai livré, je clic sur un bouton et le texte OK s'affiche sur la colonne E de la Feuil 2 dans les cases qui correspondent aux produits validés.
Ci joint un fichier très simplifier.
Les critères de recherche sont la commande et le produit.

Je résume : si C = FAIT dans Feuil 1 ==> recherche par rapport aux critères Commande et Produit dans Feuil 2 ==> E = OK dans Feuil 2.
Je souhaite que cela soit fait en VB.
PS : mon tableau de base contient 1000 lignes
Merci
 

Pièces jointes

  • rechercev.xlsx
    14.8 KB · Affichages: 50
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour Sb_OS,

Une piste par formules en utilisant deux colonnes auxiliaires nommées aux.
Les trois formules sont des formules matricielles à valider par Ctrl+Maj+Entrée au lieu de la seule touche Entrée.

A l'avenir bannissez les cellules fusionnées pour des bases de données. Ça complique les recherches et tris.
 

Pièces jointes

  • Sb_OS- rechercev- v1.xlsx
    10.3 KB · Affichages: 31

Sb_OS

XLDnaute Junior
Bonjour mapomme,

je vous remercie pour votre proposition qui fonctionne parfaitement, mais j'ai vraiment besoin que ça soit en VBA car les utilisateurs du fichier supprime souvent les formules
pour les cellules fusionnées c vrais qu elles compliquent la recherche mais elles facilite l'importation via la BDD.
 

Sb_OS

XLDnaute Junior
Bonjour @Lone-wolf @mapomme @pierrejean ,

Merci à vous, les deux solutions marchent parfaitement, celui de pierrejean si vous voulez l'optimiser il faut rajouter une instruction qui efface la mémoire (suppression des anciens OK dans la feuil 2) mais en tout cas ce code sera associer dans mon vrais fichier (mon usine à gaz ) avec un autre code qui à la base efface les Ok une fois ils sont utilisés .
Merci les maîtres.
 

Sb_OS

XLDnaute Junior
Bonjour le Fil,

@pierrejean , j'ai utilisé votre code et je l'ai associé à plusieurs d'autre dans mon application mais j'ai rencontré des problèmes de lourdeur vu qu'il y a trop d'instructions en relation. donc je suis entrain d'optimiser la chose.
j'ai une petite demande : si vous pouvez adapté le code pour que quand il y a Fait dans la colonne E de la feuil 1 au lieux de mettre OK dans la colonne I de la feuil 2 il me fait (m, G) value = (m, G) value + 1 (dans la feuil 2).
J'ai essayé de faire avec with feuil2 ... (m, 5) .value = .(m, 5) .value +1 et ça n'a pas marché
je joint un fichier.

@mapomme si vous avez une proposition elle est la bienvenue !

Merci
 

Pièces jointes

  • test.xlsm
    28.8 KB · Affichages: 32

Discussions similaires

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