Tout se passe bien et j'obtiens bien le résultat escompté à savoir l'index de la ligne répondant aux 2 critères contenus dans les cellules A4 et H4.
2 - Maintenant, je souhaite reproduire cette recherche d'index de ligne sur les mêmes critère mais cette fois en VBA.
Dans une macro j'ai donc une ligne du type :
Code:
On Error Resume Next
dPos = WorksheetFunction.Match(1, ([CIPD_NoCAT] = vNoCAT) * ([CIPD_RefFAB] = vRefFAB), 0)
If Err.Number = 1004 Then
.... si ligne non trouvée
Sachant que mes 2 critères de recherche sont stockés dans respectivement les variables 'vNoCAT' et 'vRefFAB' et que l'on a toujours les 2 mêmes plages nommées qu'en version EXCEL ci-dessus.
Dans ce cas la fonction 'WorksheetFunction.Match' me renvoie toujours une erreur (pas forcément N°1004) et donc je n'arrive pas à obtenir mon index de ligne. Je précise qu'il existe bien une ligne répondant aux 2 critères !
Aussi j'en fais appel à vous pour m'aider à corriger ce qui ne va pas dans mon code VBA car je tourne en rond depuis quelques temps maintenant.
il me semble que ta formule sous Excel soit une formule matricielle, alors que sous vba, avec "WorksheetFunction.Match" elle ne l'est pas (matricielle), à priori ceci expliquerai cela... maintenant n'étant pas formuliste et sans fichier difficile de t'en dire plus...