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

XL pour MAC Recherche dans une base de donnée avec conditions

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

vall

XLDnaute Nouveau
Bonjour à tous,

Voilà je suis en train de traiter une base de donnée d'environ 150 lignes et je souhaite trouver une fonction qui simplifie celle que j'ai mise en place actuellement !

Pour résumer mon problème : Je cherche le prix d'un objet avec une spécificité en fonction de la quantité voulu par un client. (Les prix fixés sont par palier)
J'ai donc créer une liste pour tout les objets ainsi que des listes associé à chaque objet et sa spécificité.

Pour le moment la solution que j'ai trouvé est la suivante :
Utiliser la fonction "RECHERCHEV" associé à la fonction "SI.CONDITION" et la fonction "ET"
En effet cette association plutôt longue me permet de retrouver le prix par palier en fonction de l'objet et sa spécificité que j'aurai choisi par liste.

Pour résumer l'actuelle solution j'ai recréer une petite base de donnée.

Merci à ceux qui trouveront une fonction alternative plus simple !
 

Pièces jointes

Just for the fun ...
En PJ un essai avec une fonction.
La syntaxe est :
VB:
=Prix(Objet, Spec, Qté)
Code:
Function Prix(Objet, Spec, Qté)
    Prix = ""
    DerLig = Range("B65500").End(xlUp).Row
    tablo = Range("B3:E" & DerLig)
    For L = 1 To UBound(tablo)
        If tablo(L, 1) = Objet And tablo(L, 2) = Spec Then
            If tablo(L, 3) >= Qté Then
                Prix = tablo(L - 1, 4)
                Exit Function
            End If
        End If
    Next L
End Function
A voir si plus rapide ou moins sur une grande BD.
 

Pièces jointes

Sur ma base de donnée la fonction matricielle ne pose aucun problème donc parfait !

D'ailleurs je me posais une petite question, est ce qu'il serait possible de rajouter une colonne Spec supplémentaire ?
Ce qui impliquerai dans la cellule prix d'inclure l'addition de la seconde spec à la première lorsque l'on en met une seconde !
 
Ah si le seul problème que je viens de voir c'est si tu dépense le compteur.
Par exemple en prenant une quantité de 101 la fonction ne réagit pas alors que le palier est dépassé et il devrait prendre celui de 100 qui est le dernier
 
Ah yes c'est sûrement la solution !

J'essaie de suivre ta logique dans les fonctions et j'essaie de rajouter une seconde colonne avec Objet et Spec différente de la première
Mais ça ne fonctionne pas en ajoutant simplement une addition


VB:
=INDEX(BD_prix;EQUIV(1;(BD_impression=I7)*(BD_spec=J7)*(BD_quantité>=H7);0)-1)+INDEX(BD_prix;EQUIV(1;(BD_impression=K7)*(BD_spec=L7)*(BD_quantité>=H7);0)-1)

Évidement la somme est sur une dernière colonne
 
- 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
19
Affichages
470
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…