Application.Match VS WorksheetFunction.Match ?

Bonjour,

j'ai dans un fichier un certains nombre de macro dont certaines font appel à la méthode MATCH, le but étant de récupérer une position dans une colonne donc un numéro de ligne.

Là où je m'interroge c'est que certaines se font avec Application.Match et d'autre avec WorksheetFunction.Match. Malgré mes recherches je ne comprend pas bien la différence entre les deux, et quand interverti les 2, tout fonctionne toujours à merveilles.

Pourriez vous m'éclairer ? L'une est elle préférable à l'autre ?

Bonne Journée.

C'est les mêmes. Aucune préférence si ce n'est éviter quelques touches de clavier

Bonjour,

il y a une différence entre les 2 si la valeur n'est pas trouvée

avec worksheetfunction tu recevras une erreur vba 1004 qui plante ton programme

avec application tu auras un message d'erreur dans le résultat de la fonction

r = WorksheetFunction.Match("a", Range("A1:B10")) ' erreur vba 1004, le programme se plante

r= Application.Match("a", Range("A1:B10")) ' r contient error 2042, mais le programme continue et tu peux tester son contenu

if r=cverr(2042) then msgbox "valeur non trouvée"

Bonjour,

en plus de la différence en cas d'erreur, WorksheetFunction. te donne aussi accès à l'intellisense de vba : après saisie du . tu as la liste des fonctions en liste déroulante.

Ca peut servir si tu ne te rappelles plus bien de la traduction anglaise de la fonction ou pour savoir si elle est disponible.

https://www.excel-pratique.com/fr/index_des_fonctions

eric

C'est clair maintenant: pas de différences dans la manière de produire le résultat attendu, mais une différence en cas d'erreur lié a une donnée non trouvée.

Dans la mesure ou le match s'effectue sur des données que la macro a elle même préalablement transférées, je ne dois pas pouvoir avoir ce type d'erreur.

Je peux homogénéiser ma syntaxe sans craintes.

Merci à tous!

Rechercher des sujets similaires à "application match worksheetfunction"