Bonjour,

Je voudrais mettre la formule suivante en VBA

=INDEX(grades[#All];MATCH(B2;grades_FullDen!M:M);5)
grades[#All] = Table reprenant tous les enregistrements de la sheet grades_FullDen
Comme cela ne fonctionnait pas j'ai décortiqué la formule en commençant par :

=MATCH(B2;grades_FullDen!M:M)

Là il me donne une erreur Mismatch
Code : Sélectionner tout - Visualiser dans une fenêtre à part
"= Application.Match(Sh1, Sh2)"
Quelqu'un poorrait-il m'aider ?

Un grand merci d'avance

Habiler

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
Private Sub Worksheet_Change(ByVal Target As Range)
Set SH1 = Sheets("GrdVsFct").Range("B2")
'Set SH2 = Sheets("Grades_FullDen").Range("full_grade_f")
Set SH2 = Sheets("Grades_FullDen").Range("M1:M300")
 
 If Target.Address = "$B$2" Then
   '[B5:s9].ClearContents
 Debug.Print SH1
  Debug.Print SH2
   Sheets("Grades_FullDen").[M1].CurrentRegion.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=[B1:B2], CopyToRange:=[B4:J4]
   Menu Target
   Sheets("GrdVsFct").Range("A2").Formula = "= Application.Match(Sh1, Sh2)"
   End If
End Sub