Passage d'arguments pour fonction personnalisée sous excel

jyorp

XLDnaute Nouveau
Bonjour
J'ai à utiliser pas mal de fois dans un projet excel des imbrications de fonctions SI, ce qui n'est pas pratique et source d'erreurs.
J'ai commencé à développer une petite fonction générique basée sous l'instruction SELECT CASE, à laquelle je passe des arguments (La valeur à tester, puis les couples condition/réponse).
La fonction marche avec des chiffres entiers, par exemple si j'ai un cas "=5" et que ma valeur à tester est égale à 5, j'obtiens la réponse attendue. De même avec une chaine de caratères.
Par contre si je mets en argument une condition du genre ">" ou "<", je n'ai pas de réponse, et le suivi pas à pas me fait voir qu'il ne trouve pas la correspondance et passe la ligne concernée sans réagir.
Comment puis-je faire pour remédier à cela, sachant que le but est d'avoir une fonction que je puisse réutiliser simplement par la suite sans rentrer dans VBA avec un nom spécifique chaque fois que j'ai besoin de lui faire choisir parmi plusieurs solution?
Merci de votre aide.
 

jyorp

XLDnaute Nouveau
Re : Passage d'arguments pour fonction personnalisée sous excel

Voici le code de la fonction, il est tout simple. Un bête Select Case avec 10 entrée/sorties comme je l'ai décrit
Le code marche avec des valeurs entières ou de chaines de texte, mais si je veux mettre des données comparatives (par exemple entrer ">5" dans l'argument Cas1) l'instruction ne s'exécute pas.
Précision: dans la foction finale, j'ai plus de 3 cas possibles, j'ai simplifié ici mais quel que soit le nombre d'entrées j'ai le même problème.

Public Function PLUSIEURSCAS(Ref, Cas1, Rep1, Cas2, Rep2, Cas3, Rep3) As Variant

Select Case Ref
Case Cas1
PLUSIEURSCAS = Rep1
Case Cas2
PLUSIEURSCAS = Rep2
Case Cas3
PLUSIEURSCAS = Rep3
Case Else
PLUSIEURSCAS = ""
End Select
End Function
 

Discussions similaires