bonjour,
J'ai une formule matricielle du type
{=3DINDEX($D$1:$D$10;EQUIV($E$1&$F$1;$A$1:$A$10&$C$1:$C$10;0))}
Je souhaiterai la mettre dans une function personnalis=E9e du type :
Function rechMulti2(Valeur_recherche1, Valeur_recherche2, ByRef
Tableau_Recherche1 As Range, ByRef Tableau_Recherche2 As Range, plage
As Range)
rechMulti2 =3D Evaluate("INDEX(" & plage.Address & ",MATCH(" &
Valeur_recherche1 & Valeur_recherche2 & "," &
Tableau_Recherche1.Address & Tableau_Recherche2.Address & ",0))")
End Function
Mais ca ne fonctionne pas !
est ce que la solution est possible, il y t il une erreur de syntaxe
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour loamar67,
Adapte le nom de la feuille dans la fonction appelante. '------------------------------ Sub Mafunction()
'arguments : Toto et titi sont les critères, tu peux 'par des "range" en utilisant la propriété Text
With Worksheets("feuil1") 'A déterminer a = rechMulti2("toto", "titi", .Range("A1:A10"), _ .Range("c1:C10"), .Range("D1:D10")) End With End Sub '------------------------------
Function rechMulti2(Vr1 As String, Vr2 As String, _ Tr1 As Range, Tr2 As Range, _ Plg As Range)
Dim AdrPlg As String, adrTr1 As String Dim R As String, T As String, AdrTr2 As String
With Plg AdrPlg = .Parent.Name & "!" & .Address End With
With Tr1 adrTr1 = .Parent.Name & "!" & .Address End With
With Tr2 AdrTr2 = .Parent.Name & "!" & .Address End With
R = Vr1 & Vr2 T = adrTr1 & "&" & AdrTr2
rechMulti2 = Evaluate("=INDEX(" & AdrPlg & _ ",MATCH(""" & R & """," & T & ",0)*1)") End Function '------------------------------
Salutations!
"loamar67" a écrit dans le message de news: bonjour, J'ai une formule matricielle du type {=INDEX($D$1:$D$10;EQUIV($E$1&$F$1;$A$1:$A$10&$C$1:$C$10;0))} Je souhaiterai la mettre dans une function personnalisée du type : Function rechMulti2(Valeur_recherche1, Valeur_recherche2, ByRef Tableau_Recherche1 As Range, ByRef Tableau_Recherche2 As Range, plage As Range) rechMulti2 = Evaluate("INDEX(" & plage.Address & ",MATCH(" & Valeur_recherche1 & Valeur_recherche2 & "," & Tableau_Recherche1.Address & Tableau_Recherche2.Address & ",0))") End Function
Mais ca ne fonctionne pas ! est ce que la solution est possible, il y t il une erreur de syntaxe
Merci loamar
Bonjour loamar67,
Adapte le nom de la feuille dans la fonction appelante.
'------------------------------
Sub Mafunction()
'arguments : Toto et titi sont les critères, tu peux
'par des "range" en utilisant la propriété Text
With Worksheets("feuil1") 'A déterminer
a = rechMulti2("toto", "titi", .Range("A1:A10"), _
.Range("c1:C10"), .Range("D1:D10"))
End With
End Sub
'------------------------------
Function rechMulti2(Vr1 As String, Vr2 As String, _
Tr1 As Range, Tr2 As Range, _
Plg As Range)
Dim AdrPlg As String, adrTr1 As String
Dim R As String, T As String, AdrTr2 As String
With Plg
AdrPlg = .Parent.Name & "!" & .Address
End With
With Tr1
adrTr1 = .Parent.Name & "!" & .Address
End With
With Tr2
AdrTr2 = .Parent.Name & "!" & .Address
End With
R = Vr1 & Vr2
T = adrTr1 & "&" & AdrTr2
rechMulti2 = Evaluate("=INDEX(" & AdrPlg & _
",MATCH(""" & R & """," & T & ",0)*1)")
End Function
'------------------------------
Salutations!
"loamar67" <loamar67@yahoo.fr> a écrit dans le message de news: 1125318937.210083.181040@z14g2000cwz.googlegroups.com...
bonjour,
J'ai une formule matricielle du type
{=INDEX($D$1:$D$10;EQUIV($E$1&$F$1;$A$1:$A$10&$C$1:$C$10;0))}
Je souhaiterai la mettre dans une function personnalisée du type :
Function rechMulti2(Valeur_recherche1, Valeur_recherche2, ByRef
Tableau_Recherche1 As Range, ByRef Tableau_Recherche2 As Range, plage
As Range)
rechMulti2 = Evaluate("INDEX(" & plage.Address & ",MATCH(" &
Valeur_recherche1 & Valeur_recherche2 & "," &
Tableau_Recherche1.Address & Tableau_Recherche2.Address & ",0))")
End Function
Mais ca ne fonctionne pas !
est ce que la solution est possible, il y t il une erreur de syntaxe
Adapte le nom de la feuille dans la fonction appelante. '------------------------------ Sub Mafunction()
'arguments : Toto et titi sont les critères, tu peux 'par des "range" en utilisant la propriété Text
With Worksheets("feuil1") 'A déterminer a = rechMulti2("toto", "titi", .Range("A1:A10"), _ .Range("c1:C10"), .Range("D1:D10")) End With End Sub '------------------------------
Function rechMulti2(Vr1 As String, Vr2 As String, _ Tr1 As Range, Tr2 As Range, _ Plg As Range)
Dim AdrPlg As String, adrTr1 As String Dim R As String, T As String, AdrTr2 As String
With Plg AdrPlg = .Parent.Name & "!" & .Address End With
With Tr1 adrTr1 = .Parent.Name & "!" & .Address End With
With Tr2 AdrTr2 = .Parent.Name & "!" & .Address End With
R = Vr1 & Vr2 T = adrTr1 & "&" & AdrTr2
rechMulti2 = Evaluate("=INDEX(" & AdrPlg & _ ",MATCH(""" & R & """," & T & ",0)*1)") End Function '------------------------------
Salutations!
"loamar67" a écrit dans le message de news: bonjour, J'ai une formule matricielle du type {=INDEX($D$1:$D$10;EQUIV($E$1&$F$1;$A$1:$A$10&$C$1:$C$10;0))} Je souhaiterai la mettre dans une function personnalisée du type : Function rechMulti2(Valeur_recherche1, Valeur_recherche2, ByRef Tableau_Recherche1 As Range, ByRef Tableau_Recherche2 As Range, plage As Range) rechMulti2 = Evaluate("INDEX(" & plage.Address & ",MATCH(" & Valeur_recherche1 & Valeur_recherche2 & "," & Tableau_Recherche1.Address & Tableau_Recherche2.Address & ",0))") End Function
Mais ca ne fonctionne pas ! est ce que la solution est possible, il y t il une erreur de syntaxe