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.
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 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
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" <flex@yahoo.co.jp> a écrit dans le message de news: Ou4sOvEtFHA.3864@TK2MSFTNGP12.phx.gbl...
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.
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.