Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

formule matricielle en vba

1 réponse
Avatar
Flex
Bonjour,
comment traduire cette formule matricielle en vba:

{=INDEX(Alpha1;MAX((Alpha2=I1)*LIGNE(Alpha2))-1)}

avec:
alpha1 = colonne B privé de la 1ère cellule car c'est une entête
alpha2 = colonne C privé de la 1ère cellule car c'est une entête
I1 c'est la cellule contenant la valeur recherchée.

Remarques:
la fonction vba sera appliquée sur 4 feuilles (z1,z2,z3,z4)formatées de la
même façon
par contre les colonnes B et C non pas les mêmes longueurs sur chacune des
feuilles.
Je dis ca car j'aurais aimé un système qui puisse donner alpha1 et alpha2
sans avoir à définir des "noms"
Qulqu'un peut il m'aider s'il vous plait.
Merci.


version: excel 2003

1 réponse

Avatar
michdenis
Bonjour Flex,

Tu dois adapter le nom de la feuille dans la procédure selon le nom de la feuille de ton application.

Pour obtenir le même résultat pour chacune de tes feuilles, Si chacune de tes feuilles ont la même structure, tu n'as qu'à faire une
petite boucle sur les feuilles désirées.

'-------------------------------
Sub TrouverEvaluate()

Dim Rg As Range, NbLig As Long
Dim Rg1 As Range, Result As Variant
Dim AdrPlg As String, R As Variant

With Worksheets("Feuil1")
NbLig = .Range("B65536").End(xlUp).Row
With .Range("B2:B" & NbLig)
AdrPlg = .Parent.Name & "!" & .Address
End With
With .Range("C2:C" & NbLig)
T = .Parent.Name & "!" & .Address
End With
R = .Range("I1")
End With

Result = Evaluate("INDEX(" & AdrPlg & ",MAX((" & _
T & "=" & R & ")*ROW(" & T & "))-1)")

End Sub
'-------------------------------


Salutations!



"Flex" a écrit dans le message de news:
Bonjour,
comment traduire cette formule matricielle en vba:

{=INDEX(Alpha1;MAX((Alpha2=I1)*LIGNE(Alpha2))-1)}

avec:
alpha1 = colonne B privé de la 1ère cellule car c'est une entête
alpha2 = colonne C privé de la 1ère cellule car c'est une entête
I1 c'est la cellule contenant la valeur recherchée.

Remarques:
la fonction vba sera appliquée sur 4 feuilles (z1,z2,z3,z4)formatées de la
même façon
par contre les colonnes B et C non pas les mêmes longueurs sur chacune des
feuilles.
Je dis ca car j'aurais aimé un système qui puisse donner alpha1 et alpha2
sans avoir à définir des "noms"
Qulqu'un peut il m'aider s'il vous plait.
Merci.


version: excel 2003