Merci de vous pencher encore sur un de mes nombreux=20
probl=E8mes.
Aujourd'hui, je recherche une formule qui me permettrait=20
de trouver la valeur qui est =E9gale ou sup=E9rieure =E0 une=20
autre valeur dans une plage de donn=E9e.
Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les =E9chelons
En C2: 29 000 $
En D2: 33 000 $
En E2: 37 000 $
En F2: 41 000 $
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
gaston
tu trouveras à cette adresse plein de réponses: http://www.google.fr/groups?as_epq=valeur%20proche&ie=UTF- 8&oe=UTF-8&as_ugroup=microsoft.public.fr.excel&lr=&hl=fr
plus généralement, tu peux chercher ici: http://www.google.fr/advanced_group_search? q=group:microsoft.public.fr.excel
j'espère t'avoir été utile
-----Message d'origine----- Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
.
tu trouveras à cette adresse plein de réponses:
http://www.google.fr/groups?as_epq=valeur%20proche&ie=UTF-
8&oe=UTF-8&as_ugroup=microsoft.public.fr.excel&lr=&hl=fr
plus généralement, tu peux chercher ici:
http://www.google.fr/advanced_group_search?
q=group:microsoft.public.fr.excel
j'espère t'avoir été utile
-----Message d'origine-----
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux
problèmes.
Aujourd'hui, je recherche une formule qui me permettrait
de trouver la valeur qui est égale ou supérieure à une
autre valeur dans une plage de donnée.
Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons
En C2: 29 000 $
En D2: 33 000 $
En E2: 37 000 $
En F2: 41 000 $
tu trouveras à cette adresse plein de réponses: http://www.google.fr/groups?as_epq=valeur%20proche&ie=UTF- 8&oe=UTF-8&as_ugroup=microsoft.public.fr.excel&lr=&hl=fr
plus généralement, tu peux chercher ici: http://www.google.fr/advanced_group_search? q=group:microsoft.public.fr.excel
j'espère t'avoir été utile
-----Message d'origine----- Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
.
Paul V.
Bonjour
La formule suivante répond à ton problème précis (sous certaines conditions) :
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler notamment les limites et la garantie que rien ne se déplace
-- HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
Bonjour
La formule suivante répond à ton problème précis (sous certaines conditions)
:
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler
notamment les limites et la garantie que rien ne se déplace
--
HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux
problèmes.
Aujourd'hui, je recherche une formule qui me permettrait
de trouver la valeur qui est égale ou supérieure à une
autre valeur dans une plage de donnée.
Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons
En C2: 29 000 $
En D2: 33 000 $
En E2: 37 000 $
En F2: 41 000 $
La formule suivante répond à ton problème précis (sous certaines conditions) :
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler notamment les limites et la garantie que rien ne se déplace
-- HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
Michel Pierron
Bonjour Paul; Alors là, "A1+4000", c'est sans doute çe que l'on appelle un à peu près ! ;-) MP
"Paul V." a écrit dans le message de news:%23%23w%
Bonjour
La formule suivante répond à ton problème précis (sous certaines conditions) :
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler notamment les limites et la garantie que rien ne se déplace
-- HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
Bonjour Paul;
Alors là, "A1+4000", c'est sans doute çe que l'on appelle un à peu près !
;-) MP
"Paul V." <pav4006@skynet.be> a écrit dans le message de
news:%23%23w%2340HKEHA.2576@TK2MSFTNGP12.phx.gbl...
Bonjour
La formule suivante répond à ton problème précis (sous certaines conditions)
:
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler
notamment les limites et la garantie que rien ne se déplace
--
HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux
problèmes.
Aujourd'hui, je recherche une formule qui me permettrait
de trouver la valeur qui est égale ou supérieure à une
autre valeur dans une plage de donnée.
Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons
En C2: 29 000 $
En D2: 33 000 $
En E2: 37 000 $
En F2: 41 000 $
Bonjour Paul; Alors là, "A1+4000", c'est sans doute çe que l'on appelle un à peu près ! ;-) MP
"Paul V." a écrit dans le message de news:%23%23w%
Bonjour
La formule suivante répond à ton problème précis (sous certaines conditions) :
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler notamment les limites et la garantie que rien ne se déplace
-- HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
Paul V.
Bonjour Michel,
Pas du tout ;-)
Le pas de la plage de contrôle est de 4000. Notre ami veut la valeur supérieure alors que Rechercheh ou v donne la valeur inférieure. Donc j'augmente la valeur cherchée de 4000 ou plus exactement 3999,9999999999999999999999999999999999999999999999999 CGFD ;-) again
Paul V.
Michel Pierron wrote:
Bonjour Paul; Alors là, "A1+4000", c'est sans doute çe que l'on appelle un à peu près ! ;-) MP
"Paul V." a écrit dans le message de news:%23%23w%
Bonjour
La formule suivante répond à ton problème précis (sous certaines conditions)
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler notamment les limites et la garantie que rien ne se déplace
-- HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
Bonjour Michel,
Pas du tout ;-)
Le pas de la plage de contrôle est de 4000.
Notre ami veut la valeur supérieure alors que Rechercheh ou v donne la
valeur inférieure.
Donc j'augmente la valeur cherchée de 4000 ou plus exactement
3999,9999999999999999999999999999999999999999999999999
CGFD ;-) again
Paul V.
Michel Pierron wrote:
Bonjour Paul;
Alors là, "A1+4000", c'est sans doute çe que l'on appelle un à peu
près ! ;-) MP
"Paul V." <pav4006@skynet.be> a écrit dans le message de
news:%23%23w%2340HKEHA.2576@TK2MSFTNGP12.phx.gbl...
Bonjour
La formule suivante répond à ton problème précis (sous certaines
conditions)
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler
notamment les limites et la garantie que rien ne se déplace
--
HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux
problèmes.
Aujourd'hui, je recherche une formule qui me permettrait
de trouver la valeur qui est égale ou supérieure à une
autre valeur dans une plage de donnée.
Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons
En C2: 29 000 $
En D2: 33 000 $
En E2: 37 000 $
En F2: 41 000 $
Le pas de la plage de contrôle est de 4000. Notre ami veut la valeur supérieure alors que Rechercheh ou v donne la valeur inférieure. Donc j'augmente la valeur cherchée de 4000 ou plus exactement 3999,9999999999999999999999999999999999999999999999999 CGFD ;-) again
Paul V.
Michel Pierron wrote:
Bonjour Paul; Alors là, "A1+4000", c'est sans doute çe que l'on appelle un à peu près ! ;-) MP
"Paul V." a écrit dans le message de news:%23%23w%
Bonjour
La formule suivante répond à ton problème précis (sous certaines conditions)
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler notamment les limites et la garantie que rien ne se déplace
-- HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
isabelle
bonjour Starwing,
autre solution qui implique que la plage soit trier en ordre décroissnt.
=INDEX(B2:F2;EQUIV(A1;B2:F2;-1))
isabelle
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
bonjour Starwing,
autre solution qui implique que la plage soit trier en ordre décroissnt.
=INDEX(B2:F2;EQUIV(A1;B2:F2;-1))
isabelle
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux
problèmes.
Aujourd'hui, je recherche une formule qui me permettrait
de trouver la valeur qui est égale ou supérieure à une
autre valeur dans une plage de donnée.
Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons
En C2: 29 000 $
En D2: 33 000 $
En E2: 37 000 $
En F2: 41 000 $
autre solution qui implique que la plage soit trier en ordre décroissnt.
=INDEX(B2:F2;EQUIV(A1;B2:F2;-1))
isabelle
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
ru-th
Salut
sans table %000+(ARRONDI((C1-25000)/4000;0)*4000)
-- a+ rural thierry Veaux et Broutards d'Anjou Wicasa on kin nape yapi inahni yo (à l'essai)
"Starwing" a écrit dans le message de news:2b8f01c42879$7e0cd2e0$ Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
Salut
sans table
%000+(ARRONDI((C1-25000)/4000;0)*4000)
--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)
"Starwing" <ubik10@hotmail.com> a écrit dans le message de
news:2b8f01c42879$7e0cd2e0$a601280a@phx.gbl...
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux
problèmes.
Aujourd'hui, je recherche une formule qui me permettrait
de trouver la valeur qui est égale ou supérieure à une
autre valeur dans une plage de donnée.
Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons
En C2: 29 000 $
En D2: 33 000 $
En E2: 37 000 $
En F2: 41 000 $
-- a+ rural thierry Veaux et Broutards d'Anjou Wicasa on kin nape yapi inahni yo (à l'essai)
"Starwing" a écrit dans le message de news:2b8f01c42879$7e0cd2e0$ Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
AV
Valeur la plus proche de A1 dans la plage B2:F2 (plage non triée) Matricielle =INDEX(B2:F2;EQUIV(MIN(ABS(A1-B2:F2));ABS(A1-B2:F2);0))
AV
Valeur la plus proche de A1 dans la plage B2:F2 (plage non triée)
Matricielle
=INDEX(B2:F2;EQUIV(MIN(ABS(A1-B2:F2));ABS(A1-B2:F2);0))
Merci pour vos réponses, mais cela ne m'aide pas..., j'ai mal formulé mon besoin... Je recommence:
En A1: 36 000 $ ' La valeur égale ou supérieure a rechercher En A2: 2 'La classe de l'employé
Les classes Les échelons En B1: 1 En C1: 25 100 $ En D1: 29 100 $ En E1: 33 100 $ En F1: 37 100 $ En G1: 41 100 $
En B2: 2 En C2: 29 200 $ En D2: 33 200 $ En E2: 37 200 $ En F2: 41 200 $ En G2: 43 200 $ etc... Il ya 7 classes en tout
J'aimerais obtenir 37 100 $ quand A2 = 1; et 37 200 $ quand A2 = 2 etc...
Merci encore pour vos réponses,
Starwing
-----Message d'origine----- Bonjour Michel,
Pas du tout ;-)
Le pas de la plage de contrôle est de 4000. Notre ami veut la valeur supérieure alors que Rechercheh ou v donne la
valeur inférieure. Donc j'augmente la valeur cherchée de 4000 ou plus exactement
3999,9999999999999999999999999999999999999999999999999 CGFD ;-) again
Paul V.
Michel Pierron wrote:
Bonjour Paul; Alors là, "A1+4000", c'est sans doute çe que l'on appelle un à peu
près ! ;-) MP
"Paul V." a écrit dans le message de news:%23%23w%
Bonjour
La formule suivante répond à ton problème précis (sous certaines
conditions)
=RECHERCHEH(A1+4000;B2:F2;1;VRAI)
Pour quelque chose de plus général et de plus sûr, faudrait fignoler
notamment les limites et la garantie que rien ne se déplace
-- HTH
Paul V.
Starwing wrote:
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait
de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
.
RaMa
Bonsoir Starwing Je te propose cette fonction que j'avais déja mis sur ce forum il y a longtemps
'R.Marceau MPFE '*************************Mode D'emploi*************************************************************** FONCTION PROCHE BUT: recherche d 'une valeur dans un tableau selon le niveau de proximité souhaité . Le résultat est la valeur trouvée ou son adresse. SYNTAXE =PROCHE(VAL;CHAMP;PROXIMITE;MODE) VAL: Valeur recherchée CHAMP: Tableau des valeurs qui seront comparées VAL Le champ peut être: -une constante de type adresse; -une cellule pointant vers une autre cellule contenant une adresse " constante" de type adresse, -une formule ou une indirection donnant une adresse, -un champ nomm . PROXIMITE: nature du résultat attendu peut prendre les valeurs suivantes: -1 Inférieur immédiat 1 Supérieur immédiat 2 écart le plus faible 3 écart le plus faible mais # valeur 4 alpha> 5 alpha< 0 égalité stricte MODE: 0 c'est la valeur trouvée qui est retournée. Si ce paramètre est omis 0 est implicite. MODE:1 ou toutes autres valeurs: c'est l'adresse de la valeur trouvée qui est retournée. '*************************************************************************** ************************** Option Explicit Public Function PROCHE(VAL, ch, prox, Optional adr As Variant) As Variant Dim z, w_col As Variant Dim loc As Variant Dim yaloc As Integer Dim y As Variant Dim ecart As Variant Dim tval As Variant Dim tch As Range Dim zz As Variant Application.Volatile z = Null loc = Null If IsMissing(adr) Then yaloc = 0 Else If (IsNumeric(adr) And adr > 0) Or (Not IsNumeric(adr) And adr > "0") Then yaloc = 1 Else yaloc = 0 End If End If tval = VAL On Error GoTo c_range Set tch = Range(ch) GoTo swit c_range: Set tch = ch On Error GoTo 0 swit: Select Case prox Case 1 For Each y In tch If y > tval And (y <= z Or IsNull(z)) Then loc = y.Address z = y End If Next Case 0 'égalité stricte For Each y In tch If StrConv(y, 1) Like StrConv(tval, 1) = True Then If IsNull(loc) Then loc = y.Address z = StrConv(y, 1) w_col = y.Column Else If y.Column < w_col Then 'c'est l'adresse de la colonne la plus à gauche loc = y.Address 'qui est retournée z = StrConv(y, 1) End If End If End If Next Case -1 'inférieur immédiat For Each y In tch If y < tval And (y >= z Or IsNull(z)) Then loc = y.Address z = y End If Next Case 4 'supérieur ou égal (chaîne) For Each y In tch If StrConv(y, 1) >= StrConv(tval, 1) And (StrConv(y, 1) <= z Or IsNull(z)) Then loc = y.Address z = StrConv(y, 1) End If Next Case 5 'inférieur ou égal (chaîne) For Each y In tch If StrConv(y, 1) <= StrConv(tval, 1) And (StrConv(y, 1) >= z Or IsNull(z)) Then loc = y.Address z = StrConv(y, 1) End If Next Case 2 'écart le plus faible zz = Null For Each y In tch If IsNumeric(y) Then ecart = Abs(y - tval) If ecart < zz Or IsNull(zz) Then zz = ecart loc = y.Address z = y End If End If Next Case 3 'écart le plus faible # valeur zz = Null For Each y In tch If IsNumeric(y) Then ecart = Abs(y - tval) If y <> tval And (ecart < zz Or IsNull(zz)) Then zz = ecart loc = y.Address z = y End If End If Next End Select If yaloc = 1 Then If IsNumeric(loc) Or IsNull(loc) Or loc = "0" Then PROCHE = CVErr(xlErrNA) Else PROCHE = loc End If Else If IsNumeric(loc) Or IsNull(loc) Or loc = "0" Then PROCHE = CVErr(xlErrNA) Else PROCHE = z End If End If End Function
Salutations RaMa
"Starwing" a écrit dans le message de news:2b8f01c42879$7e0cd2e0$ Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $
J'aimerais obtenir 37 000 $
Merci d'avance pour tout,
Starwing
Bonsoir Starwing
Je te propose cette fonction que j'avais déja mis sur ce forum il y a
longtemps
'R.Marceau MPFE
'*************************Mode
D'emploi***************************************************************
FONCTION PROCHE
BUT: recherche d 'une valeur dans un tableau selon le
niveau de proximité souhaité . Le résultat est la valeur trouvée ou son
adresse.
SYNTAXE =PROCHE(VAL;CHAMP;PROXIMITE;MODE)
VAL: Valeur recherchée
CHAMP: Tableau des valeurs qui seront comparées VAL
Le champ peut être:
-une constante de type adresse;
-une cellule pointant vers une autre cellule contenant une adresse "
constante" de type adresse,
-une formule ou une indirection donnant une adresse,
-un champ nomm .
PROXIMITE: nature du résultat attendu
peut prendre les valeurs suivantes:
-1 Inférieur immédiat
1 Supérieur immédiat
2 écart le plus faible
3 écart le plus faible mais # valeur
4 alpha> 5 alpha< 0 égalité stricte
MODE: 0 c'est la valeur trouvée qui est retournée.
Si ce paramètre est omis 0 est implicite.
MODE:1 ou toutes autres valeurs: c'est l'adresse
de la valeur trouvée qui est retournée.
'***************************************************************************
**************************
Option Explicit
Public Function PROCHE(VAL, ch, prox, Optional adr As Variant) As Variant
Dim z, w_col As Variant
Dim loc As Variant
Dim yaloc As Integer
Dim y As Variant
Dim ecart As Variant
Dim tval As Variant
Dim tch As Range
Dim zz As Variant
Application.Volatile
z = Null
loc = Null
If IsMissing(adr) Then
yaloc = 0
Else
If (IsNumeric(adr) And adr > 0) Or (Not IsNumeric(adr) And adr > "0") Then
yaloc = 1
Else
yaloc = 0
End If
End If
tval = VAL
On Error GoTo c_range
Set tch = Range(ch)
GoTo swit
c_range:
Set tch = ch
On Error GoTo 0
swit:
Select Case prox
Case 1
For Each y In tch
If y > tval And (y <= z Or IsNull(z)) Then
loc = y.Address
z = y
End If
Next
Case 0 'égalité stricte
For Each y In tch
If StrConv(y, 1) Like StrConv(tval, 1) = True Then
If IsNull(loc) Then
loc = y.Address
z = StrConv(y, 1)
w_col = y.Column
Else
If y.Column < w_col Then 'c'est l'adresse de la colonne la
plus à gauche
loc = y.Address 'qui est retournée
z = StrConv(y, 1)
End If
End If
End If
Next
Case -1 'inférieur immédiat
For Each y In tch
If y < tval And (y >= z Or IsNull(z)) Then
loc = y.Address
z = y
End If
Next
Case 4 'supérieur ou égal (chaîne)
For Each y In tch
If StrConv(y, 1) >= StrConv(tval, 1) And (StrConv(y, 1) <= z Or
IsNull(z)) Then
loc = y.Address
z = StrConv(y, 1)
End If
Next
Case 5 'inférieur ou égal (chaîne)
For Each y In tch
If StrConv(y, 1) <= StrConv(tval, 1) And (StrConv(y, 1) >= z Or
IsNull(z)) Then
loc = y.Address
z = StrConv(y, 1)
End If
Next
Case 2 'écart le plus faible
zz = Null
For Each y In tch
If IsNumeric(y) Then
ecart = Abs(y - tval)
If ecart < zz Or IsNull(zz) Then
zz = ecart
loc = y.Address
z = y
End If
End If
Next
Case 3 'écart le plus faible # valeur
zz = Null
For Each y In tch
If IsNumeric(y) Then
ecart = Abs(y - tval)
If y <> tval And (ecart < zz Or IsNull(zz)) Then
zz = ecart
loc = y.Address
z = y
End If
End If
Next
End Select
If yaloc = 1 Then
If IsNumeric(loc) Or IsNull(loc) Or loc = "0" Then
PROCHE = CVErr(xlErrNA)
Else
PROCHE = loc
End If
Else
If IsNumeric(loc) Or IsNull(loc) Or loc = "0" Then
PROCHE = CVErr(xlErrNA)
Else
PROCHE = z
End If
End If
End Function
Salutations
RaMa
"Starwing" <ubik10@hotmail.com> a écrit dans le message de
news:2b8f01c42879$7e0cd2e0$a601280a@phx.gbl...
Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux
problèmes.
Aujourd'hui, je recherche une formule qui me permettrait
de trouver la valeur qui est égale ou supérieure à une
autre valeur dans une plage de donnée.
Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons
En C2: 29 000 $
En D2: 33 000 $
En E2: 37 000 $
En F2: 41 000 $
Bonsoir Starwing Je te propose cette fonction que j'avais déja mis sur ce forum il y a longtemps
'R.Marceau MPFE '*************************Mode D'emploi*************************************************************** FONCTION PROCHE BUT: recherche d 'une valeur dans un tableau selon le niveau de proximité souhaité . Le résultat est la valeur trouvée ou son adresse. SYNTAXE =PROCHE(VAL;CHAMP;PROXIMITE;MODE) VAL: Valeur recherchée CHAMP: Tableau des valeurs qui seront comparées VAL Le champ peut être: -une constante de type adresse; -une cellule pointant vers une autre cellule contenant une adresse " constante" de type adresse, -une formule ou une indirection donnant une adresse, -un champ nomm . PROXIMITE: nature du résultat attendu peut prendre les valeurs suivantes: -1 Inférieur immédiat 1 Supérieur immédiat 2 écart le plus faible 3 écart le plus faible mais # valeur 4 alpha> 5 alpha< 0 égalité stricte MODE: 0 c'est la valeur trouvée qui est retournée. Si ce paramètre est omis 0 est implicite. MODE:1 ou toutes autres valeurs: c'est l'adresse de la valeur trouvée qui est retournée. '*************************************************************************** ************************** Option Explicit Public Function PROCHE(VAL, ch, prox, Optional adr As Variant) As Variant Dim z, w_col As Variant Dim loc As Variant Dim yaloc As Integer Dim y As Variant Dim ecart As Variant Dim tval As Variant Dim tch As Range Dim zz As Variant Application.Volatile z = Null loc = Null If IsMissing(adr) Then yaloc = 0 Else If (IsNumeric(adr) And adr > 0) Or (Not IsNumeric(adr) And adr > "0") Then yaloc = 1 Else yaloc = 0 End If End If tval = VAL On Error GoTo c_range Set tch = Range(ch) GoTo swit c_range: Set tch = ch On Error GoTo 0 swit: Select Case prox Case 1 For Each y In tch If y > tval And (y <= z Or IsNull(z)) Then loc = y.Address z = y End If Next Case 0 'égalité stricte For Each y In tch If StrConv(y, 1) Like StrConv(tval, 1) = True Then If IsNull(loc) Then loc = y.Address z = StrConv(y, 1) w_col = y.Column Else If y.Column < w_col Then 'c'est l'adresse de la colonne la plus à gauche loc = y.Address 'qui est retournée z = StrConv(y, 1) End If End If End If Next Case -1 'inférieur immédiat For Each y In tch If y < tval And (y >= z Or IsNull(z)) Then loc = y.Address z = y End If Next Case 4 'supérieur ou égal (chaîne) For Each y In tch If StrConv(y, 1) >= StrConv(tval, 1) And (StrConv(y, 1) <= z Or IsNull(z)) Then loc = y.Address z = StrConv(y, 1) End If Next Case 5 'inférieur ou égal (chaîne) For Each y In tch If StrConv(y, 1) <= StrConv(tval, 1) And (StrConv(y, 1) >= z Or IsNull(z)) Then loc = y.Address z = StrConv(y, 1) End If Next Case 2 'écart le plus faible zz = Null For Each y In tch If IsNumeric(y) Then ecart = Abs(y - tval) If ecart < zz Or IsNull(zz) Then zz = ecart loc = y.Address z = y End If End If Next Case 3 'écart le plus faible # valeur zz = Null For Each y In tch If IsNumeric(y) Then ecart = Abs(y - tval) If y <> tval And (ecart < zz Or IsNull(zz)) Then zz = ecart loc = y.Address z = y End If End If Next End Select If yaloc = 1 Then If IsNumeric(loc) Or IsNull(loc) Or loc = "0" Then PROCHE = CVErr(xlErrNA) Else PROCHE = loc End If Else If IsNumeric(loc) Or IsNull(loc) Or loc = "0" Then PROCHE = CVErr(xlErrNA) Else PROCHE = z End If End If End Function
Salutations RaMa
"Starwing" a écrit dans le message de news:2b8f01c42879$7e0cd2e0$ Bonjour à tous,
Merci de vous pencher encore sur un de mes nombreux problèmes. Aujourd'hui, je recherche une formule qui me permettrait de trouver la valeur qui est égale ou supérieure à une autre valeur dans une plage de donnée. Exemple:
En A1: 36 000 $ ' La valeur a rechercher
En B2: 25 000 $ 'Les échelons En C2: 29 000 $ En D2: 33 000 $ En E2: 37 000 $ En F2: 41 000 $