Trouver le Min et Max d'une série de données en fonction d'un critère

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

Xenors

XLDnaute Nouveau
Bonjour à tous 🙂

Sur une feuille Excel se présente un tableau de 3 colonnes (A,B,C) respectivement : CodeMatPrem ; CodeFournisseur ; PrixAchat

Je souhaite, à partir d'un bouton, pouvoir sélectionner à l'aide d'une combobox un code matière première afin d'obtenir le prix le moins cher et le prix le plus cher de cette matière.

Au départ, j'étais parti pour utiliser les fonctions min/max avec la fonction vlookup mais, n'y arrivant pas, j'ai finalement opté pour une autre solution.
Voici ce que j'ai fait.

Macro pour trouver le prix le moins cher :

Code:
Sub PrixMoinsCher()
Dim a As String
a = UserForm6.ComboBox1.Value
Dim b As String
b = Application.WorksheetFunction.Max(Range("C2:C64"))
For Each x In Range("A2:A64")
    If x.Value = a Then
        If x.Offset(0, 2).Value < b Then
            b = x.Offset(0, 2).Value
        End If
    End If
Next
UserForm6.TextBox1.Value = b
End Sub

Macro pour trouver le prix le plus cher :

Code:
Sub PrixPlusCher()
Dim a As String
a = UserForm6.ComboBox1.Value
Dim b As String
b = Application.WorksheetFunction.Min(Range("C2:C64"))
For Each x In Range("A2:A64")
    If x.Value = a Then
        If x.Offset(0, 2).Value > b Then
            b = x.Offset(0, 2).Value
        End If
    End If
Next
UserForm6.TextBox6.Value = b
End Sub

L'introduction étant faite, venons en aux faits.

Lorsque je lance mon userform avec les macros, une seule seulement ne fonctionne (Prix le plus cher) et pourtant pour la réaliser je suis parti de la première macro.

La macro devant afficher le prix le moins cher affiche au final le prix le plus cher de la colonne sans prendre en compte le critère présent dans la combobox et, pourtant, la boucle avec If que j'ai réalisé est la même pour les 2 macros. Dans le cas où il n'y a qu'un seul prix pour une matière, là par contre, la macro défectueuse affiche la bonne valeur :/

J'ai essayé ces 2 macros avec d'autres chiffres dans la colonne C et là, miracle, les deux fonctionnent sauf que ce n'est pas avec les bons chiffres.
Cela fait maintenant 5h que je bloque dessus, je suis carrément perdu et une aide serait donc la bienvenue xD

Ci-joint vous trouverez le fichier Excel, avec le userform et les 2 macros 🙂

En copiant les valeurs de la colonne J sur celles de la colonne C, les 2 macros se mettent à fonctionner, je n'arrive vraiment pas à comprendre pourquoi :/

Merci d'avance ! 🙂

Xenors
 

Pièces jointes

Dernière modification par un modérateur:
Re : Trouver le Min et Max d'une série de données en fonction d'un critère

Bonjour Jocelyn,

Merci pour ta réponse, seulement je souhaite garder le menu de sélection avec le userform 🙂
Le but étant que lorsque l'on sélectionne un code de matière première, les différentes textbox située en dessous se remplissent automatiquement :

Menu de selection.PNG

En fait il faudrait que lorsque je sélectionne le code de matière, la première ligne de textbox se remplie automatiquement,
les textbox en dessous se remplirai alors à partir des valeurs contenues dans les premières avec une formule comme vlookup ou bien index+match ?
 
Dernière modification par un modérateur:
Re : Trouver le Min et Max d'une série de données en fonction d'un critère

J'ai finalement réussi à trouver d'où cela venait ! 🙂
Je n'avais pas déclaré mes variables dans le bon "type" au lieu de String, j'ai mis Double et tout est rentré dans l'ordre 😎

Je ne parviens pas, par contre, à lier les Textbox avec les 2 premières pour qu'apparaissent toutes les informations Fournisseurs... :/

Merci d'avance

Bonne soirée 🙂
 
- 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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
250
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
500
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
79
Retour