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

Fonction recherhant la valeur minimun dans une plage de donnée a rechercher.

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

F2T

XLDnaute Occasionnel
Bonjour,

quelqu'un pourrait il me renseigner sur la raison de la non fonctionalité de cette fonction.

Code:
Function MININ(VAL1 As String, VAL2 As String)

Dim Num1 As String
Dim Num2 As String


Num1 = WorksheetFunction.EQUIV(VAL1, Workbooks("TB").Worksheets("DATA").RANGE("A1:A36500"))
 Num2= WorksheetFunction.EQUIV(VAL2, Workbooks("TB").Worksheets("DATA").RANGE("A1:A36500"))


MININ = WorksheetFunction.MIN("B" & Num1 & ":B" & Num2)


End Function

Une erreur #VALUE! apparait.

Merci pour l'aide. 😕

peace
 
Re : Fonction recherhant la valeur minimun dans une plage de donnée a rechercher.

Salut F2T et le forum
Ça t'apprendra à utiliser des fonctions de feuille de calcul en VBA
EQUIV est une fonction de feuille de calcul française ! En Anglais, il faut utiliser Match
A+
 
Re : Fonction recherhant la valeur minimun dans une plage de donnée a rechercher.

Le problem doit venir d'autre part car sous cette forme cela ne fonctionne pas non plus.


Function MININ(VAL1 As String, VAL2 As String)

Dim Num1 As String
Dim Num2 As String


Num1 = WorksheetFunction.MATCH(VAL1, Workbooks("TB").Worksheets("DATA").RANGE("A1:A36500"))
Num2= WorksheetFunction.MATCH(VAL2, Workbooks("TB").Worksheets("DATA").RANGE("A1:A36500"))


MININ = WorksheetFunction.MIN("B" & Num1 & ":B" & Num2)


End Function

Toute idée est la bienvenue.🙂
 
Re : Fonction recherhant la valeur minimun dans une plage de donnée a rechercher.

Salut F2T et le forum
Pense à utiliser les balises de code (icone # en mode avancé)

Difficile d'être sûr de comprendre le problème avec un code faux.
Ce que je crois comprendre : la fonction doit renvoyer la valeur mini en B, en déterminant les ligne par une valeur en A.
Personnellement, j'évite au maximum d'utiliser les fonctions en VBA
Code:
Function MININ(VAL1 As String, VAL2 As String)
Dim Cel_1 As Range, Cel_2 As Range
Application.Volatile
With Workbooks("TB").Worksheets("DATA")
    Set Cel_1 = .Columns(1).Find(What:=VAL1, LookIn:=xlValues, LookAt:=xlWhole)
    If Cel_1 Is Nothing Then
        MININ = VAL1 & " introuvable"
        Exit Function
    End If
    Set Cel_2 = .Columns(1).Find(What:=VAL2, LookIn:=xlValues, LookAt:=xlWhole)
    If Cel_2 Is Nothing Then
        MININ = VAL2 & " introuvable"
        Exit Function
    End If
    MININ = WorksheetFunction.Min(.Range(Cel_1.Offset(0, 1), Cel_2.Offset(0, 1)))
End With
End Function
Je suppose que comme tu indiques le classeur et la feuille, la feuille de recherche est différente de la feuille active : il faut se rappeler que par défaut, c'est toujours le classeur actif, et la feuille active.
A+
 
- 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

O
Réponses
2
Affichages
1 K
olivier91620
O
N
Réponses
1
Affichages
675
New_VBA_User
N
Y
Réponses
3
Affichages
1 K
yule bwinner
Y
J
Réponses
0
Affichages
973
jujunexcelpas
J
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…