OVH Cloud OVH Cloud

formules matricielle et petit souci

16 réponses
Avatar
JEAN
Bonjour,

J'ai cette formule:
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

suivant les valeurs que prennent B13 et B14 dans ma feuille 2,j'irai
chercher dans ma feuille 1 les memes valeurs que prennent B13 et B14 et
afficher sur ma cellules la valeur correspondant de la colonne L de la
feuille 1

cela marche très bien pour une ligne, mais quand je tire mes lignes.j'ai un
petit souci

Supposons que dans ma colonne H et I j'ai plusieurs fois,des codes
identiques c'est a dire:
en feuille 1:
ligne15: 10 en H15 20 en I15 500 en L15
Ligne 16: 10 en H16 20 en I16 800 en L16
Ligne 17: 0 en H17 20 en I17 100 en L17
Ligne 18: 10 en H18 20 en I18 900 en L18

tout ce la est dans la feuille 1
si dans ma feuille 2 je rentre en B13 la valeur 10 et en B14 la valeur 20
suivant ma formule que je met dans une colonne(par exemple la colonne D de
la feuille 2)
je voudrai Avoir:
en D15: 500
en D16: 800
en D17: 900
ces valeurs corresponde bien au code rentré.

je n'aurai pas 100 car il correspond pas au code
merci de votre aide.

10 réponses

1 2
Avatar
Jacky
F1, puis
Entrez le ou les mots recherchés= ABSOLU

Salutations
JJ

"JEAN" a écrit dans le message de
news:
Bonjour,

J'ai cette formule:

=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$

I$250;0))

suivant les valeurs que prennent B13 et B14 dans ma feuille 2,j'irai
chercher dans ma feuille 1 les memes valeurs que prennent B13 et B14 et
afficher sur ma cellules la valeur correspondant de la colonne L de la
feuille 1

cela marche très bien pour une ligne, mais quand je tire mes lignes.j'ai
un

petit souci

Supposons que dans ma colonne H et I j'ai plusieurs fois,des codes
identiques c'est a dire:
en feuille 1:
ligne15: 10 en H15 20 en I15 500 en L15
Ligne 16: 10 en H16 20 en I16 800 en L16
Ligne 17: 0 en H17 20 en I17 100 en L17
Ligne 18: 10 en H18 20 en I18 900 en L18

tout ce la est dans la feuille 1
si dans ma feuille 2 je rentre en B13 la valeur 10 et en B14 la valeur 20
suivant ma formule que je met dans une colonne(par exemple la colonne D de
la feuille 2)
je voudrai Avoir:
en D15: 500
en D16: 800
en D17: 900
ces valeurs corresponde bien au code rentré.

je n'aurai pas 100 car il correspond pas au code
merci de votre aide.



Avatar
Starwing
Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing
Avatar
JEAN
ca repond pas tout a fait à ma questions,

quelle est le rapport avec petite valeur et la lettre K

c'est juste qu'avec cette formul
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

je voudrai recuperer chaque valeur dans la colonne de ma feuille 2 les
differentes valeurs que prennent la colonne L suivont la conditions de B13 et
B14

je comprend pas trop pourquoi petite valeur et K

merci


"Starwing" wrote:

Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing





Avatar
michdenis
Bonsoir Jean,



Remplace K dans la formule par Ligne(A1) et tu tires ta formule vers le bas


Salutations!



"JEAN" a écrit dans le message de news:

ca repond pas tout a fait à ma questions,

quelle est le rapport avec petite valeur et la lettre K

c'est juste qu'avec cette formule
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

je voudrai recuperer chaque valeur dans la colonne de ma feuille 2 les
differentes valeurs que prennent la colonne L suivont la conditions de B13 et
B14

je comprend pas trop pourquoi petite valeur et K

merci


"Starwing" wrote:

Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing





Avatar
JEAN
oui mais du coup ca me classe mes valeurs, et comme j'ai plusieurs valeurs de
differentes colonne à recuperer.
ca les classe pas comme dans la feuille 1
je voudrai pas utilisé la fontion petite valeur.
je veux seulement recuperer mes valeurs suivant la condition qui satisfait.

si jutilise petite valeur

et que j'ai par exemple dans ma feuille 1 dans une colonne

123
190
101
23
189

je veux que ca recupere de cette facon
et pas comme ceci:
23
101
123
189
190
sinon ma recuperation est pas bonne

merci
"michdenis" wrote:

Bonsoir Jean,



Remplace K dans la formule par Ligne(A1) et tu tires ta formule vers le bas


Salutations!



"JEAN" a écrit dans le message de news:

ca repond pas tout a fait à ma questions,

quelle est le rapport avec petite valeur et la lettre K

c'est juste qu'avec cette formule
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

je voudrai recuperer chaque valeur dans la colonne de ma feuille 2 les
differentes valeurs que prennent la colonne L suivont la conditions de B13 et
B14

je comprend pas trop pourquoi petite valeur et K

merci


"Starwing" wrote:

Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing










Avatar
michdenis
Bonjour Jean,

Essaie ceci :

Tu colles le code dans le module Feuille de la Feuil2 de ton application. Si les adresses que tu as données, cela
devrait fonctionner sans retouches !

Si tu as déjà du code dans cet événement de la feuille, la section "Déclaration des variables" va dans le haut de la
procédure et tu insères ceci à la fin des procédure déjà existante. Assure-toi, que tu n'as pas déjà des variables dans
la procédure qui possèdent déjà le nom des variables que j'utilise dans ce code.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

'Déclaration des variables:
Dim Etat As Integer
Dim R As Range, R1 As Range

If Not Intersect(Target, Range("B13:B14")) Is Nothing Then
Application.EnableEvents = False
Etat = Application.Calculation
Application.Calculation = xlCalculationManual
On Error Resume Next
With Worksheets("Feuil1")
With .Range("H14:L250")
.AutoFilter field:=1, Criteria1:=Range("B13")
.AutoFilter field:=2, Criteria2:=Range("B14")
Set R = .Offset(1, 4).Resize(, .Columns.Count - 4)
Set R1 = R.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
Range("L15:L250").Clear
R1.Copy Range("L15")
.AutoFilter
End With
End With
Application.EnableEvents = True
Application.Calculation = Etat
Set R = Nothing: Set R1 = Nothing
End If

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


Salutations!




"JEAN" a écrit dans le message de news:

oui mais du coup ca me classe mes valeurs, et comme j'ai plusieurs valeurs de
differentes colonne à recuperer.
ca les classe pas comme dans la feuille 1
je voudrai pas utilisé la fontion petite valeur.
je veux seulement recuperer mes valeurs suivant la condition qui satisfait.

si jutilise petite valeur

et que j'ai par exemple dans ma feuille 1 dans une colonne

123
190
101
23
189

je veux que ca recupere de cette facon
et pas comme ceci:
23
101
123
189
190
sinon ma recuperation est pas bonne

merci
"michdenis" wrote:

Bonsoir Jean,



Remplace K dans la formule par Ligne(A1) et tu tires ta formule vers le bas


Salutations!



"JEAN" a écrit dans le message de news:

ca repond pas tout a fait à ma questions,

quelle est le rapport avec petite valeur et la lettre K

c'est juste qu'avec cette formule
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

je voudrai recuperer chaque valeur dans la colonne de ma feuille 2 les
differentes valeurs que prennent la colonne L suivont la conditions de B13 et
B14

je comprend pas trop pourquoi petite valeur et K

merci


"Starwing" wrote:

Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing










Avatar
JEAN
je n'ai pas compris ton code, d'ailleur je l'ai essayé et cela ne fonctionne
pas.

A savoir que si je met en critere B13 et B14 de ma feuille 2
je doit pouvoir recuperer tout les valeurs des 10 colonnes que j'ai dans ma
feuille 1 correspondant a ces conditions.

Je peux avoir les meme conditions plusieurs fois.


merci


"michdenis" wrote:

Bonjour Jean,

Essaie ceci :

Tu colles le code dans le module Feuille de la Feuil2 de ton application. Si les adresses que tu as données, cela
devrait fonctionner sans retouches !

Si tu as déjà du code dans cet événement de la feuille, la section "Déclaration des variables" va dans le haut de la
procédure et tu insères ceci à la fin des procédure déjà existante. Assure-toi, que tu n'as pas déjà des variables dans
la procédure qui possèdent déjà le nom des variables que j'utilise dans ce code.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

'Déclaration des variables:
Dim Etat As Integer
Dim R As Range, R1 As Range

If Not Intersect(Target, Range("B13:B14")) Is Nothing Then
Application.EnableEvents = False
Etat = Application.Calculation
Application.Calculation = xlCalculationManual
On Error Resume Next
With Worksheets("Feuil1")
With .Range("H14:L250")
.AutoFilter field:=1, Criteria1:=Range("B13")
.AutoFilter field:=2, Criteria2:=Range("B14")
Set R = .Offset(1, 4).Resize(, .Columns.Count - 4)
Set R1 = R.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
Range("L15:L250").Clear
R1.Copy Range("L15")
.AutoFilter
End With
End With
Application.EnableEvents = True
Application.Calculation = Etat
Set R = Nothing: Set R1 = Nothing
End If

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


Salutations!




"JEAN" a écrit dans le message de news:

oui mais du coup ca me classe mes valeurs, et comme j'ai plusieurs valeurs de
differentes colonne à recuperer.
ca les classe pas comme dans la feuille 1
je voudrai pas utilisé la fontion petite valeur.
je veux seulement recuperer mes valeurs suivant la condition qui satisfait.

si jutilise petite valeur

et que j'ai par exemple dans ma feuille 1 dans une colonne

123
190
101
23
189

je veux que ca recupere de cette facon
et pas comme ceci:
23
101
123
189
190
sinon ma recuperation est pas bonne

merci
"michdenis" wrote:

Bonsoir Jean,



Remplace K dans la formule par Ligne(A1) et tu tires ta formule vers le bas


Salutations!



"JEAN" a écrit dans le message de news:

ca repond pas tout a fait à ma questions,

quelle est le rapport avec petite valeur et la lettre K

c'est juste qu'avec cette formule
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

je voudrai recuperer chaque valeur dans la colonne de ma feuille 2 les
differentes valeurs que prennent la colonne L suivont la conditions de B13 et
B14

je comprend pas trop pourquoi petite valeur et K

merci


"Starwing" wrote:

Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing















Avatar
michdenis
Bonjour Jean,

Tu peux télécharger l'exemple simple que je t'ai fait, les explications sommaires sont dans le classeur.

"je n'ai pas compris ton code" Il va falloir que tu y mettes quand même plus de 5 minutes ...cela m'a quand même pris
plus de 5 minutes moi-même pour l'écrire !

clique sur ce lien pour télécharger le classeur !

http://cjoint.com/?mmqyQketRn


Salutations!


"JEAN" a écrit dans le message de news:

je n'ai pas compris ton code, d'ailleur je l'ai essayé et cela ne fonctionne
pas.

A savoir que si je met en critere B13 et B14 de ma feuille 2
je doit pouvoir recuperer tout les valeurs des 10 colonnes que j'ai dans ma
feuille 1 correspondant a ces conditions.

Je peux avoir les meme conditions plusieurs fois.


merci


"michdenis" wrote:

Bonjour Jean,

Essaie ceci :

Tu colles le code dans le module Feuille de la Feuil2 de ton application. Si les adresses que tu as données, cela
devrait fonctionner sans retouches !

Si tu as déjà du code dans cet événement de la feuille, la section "Déclaration des variables" va dans le haut de la
procédure et tu insères ceci à la fin des procédure déjà existante. Assure-toi, que tu n'as pas déjà des variables
dans
la procédure qui possèdent déjà le nom des variables que j'utilise dans ce code.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

'Déclaration des variables:
Dim Etat As Integer
Dim R As Range, R1 As Range

If Not Intersect(Target, Range("B13:B14")) Is Nothing Then
Application.EnableEvents = False
Etat = Application.Calculation
Application.Calculation = xlCalculationManual
On Error Resume Next
With Worksheets("Feuil1")
With .Range("H14:L250")
.AutoFilter field:=1, Criteria1:=Range("B13")
.AutoFilter field:=2, Criteria2:=Range("B14")
Set R = .Offset(1, 4).Resize(, .Columns.Count - 4)
Set R1 = R.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
Range("L15:L250").Clear
R1.Copy Range("L15")
.AutoFilter
End With
End With
Application.EnableEvents = True
Application.Calculation = Etat
Set R = Nothing: Set R1 = Nothing
End If

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


Salutations!




"JEAN" a écrit dans le message de news:

oui mais du coup ca me classe mes valeurs, et comme j'ai plusieurs valeurs de
differentes colonne à recuperer.
ca les classe pas comme dans la feuille 1
je voudrai pas utilisé la fontion petite valeur.
je veux seulement recuperer mes valeurs suivant la condition qui satisfait.

si jutilise petite valeur

et que j'ai par exemple dans ma feuille 1 dans une colonne

123
190
101
23
189

je veux que ca recupere de cette facon
et pas comme ceci:
23
101
123
189
190
sinon ma recuperation est pas bonne

merci
"michdenis" wrote:

Bonsoir Jean,



Remplace K dans la formule par Ligne(A1) et tu tires ta formule vers le bas


Salutations!



"JEAN" a écrit dans le message de news:

ca repond pas tout a fait à ma questions,

quelle est le rapport avec petite valeur et la lettre K

c'est juste qu'avec cette formule
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

je voudrai recuperer chaque valeur dans la colonne de ma feuille 2 les
differentes valeurs que prennent la colonne L suivont la conditions de B13 et
B14

je comprend pas trop pourquoi petite valeur et K

merci


"Starwing" wrote:

Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing















Avatar
JEAN
merci pour le lien , voila je voix mieux, mais en feuille 1
j'aurai pas seulement que des valeurs dans la colonnes L de la feuille 1
j'aurai aussi des valeurs dans la colonne M N O P S T de ma feuille 1 que je
recupere en feuille 2 suivant mes conditions.

comment devient le programme du coup.

merci



Bonjour Jean,

Tu peux télécharger l'exemple simple que je t'ai fait, les explications sommaires sont dans le classeur.

"je n'ai pas compris ton code" Il va falloir que tu y mettes quand même plus de 5 minutes ...cela m'a quand même pris
plus de 5 minutes moi-même pour l'écrire !

clique sur ce lien pour télécharger le classeur !

http://cjoint.com/?mmqyQketRn


Salutations!


"JEAN" a écrit dans le message de news:

je n'ai pas compris ton code, d'ailleur je l'ai essayé et cela ne fonctionne
pas.

A savoir que si je met en critere B13 et B14 de ma feuille 2
je doit pouvoir recuperer tout les valeurs des 10 colonnes que j'ai dans ma
feuille 1 correspondant a ces conditions.

Je peux avoir les meme conditions plusieurs fois.


merci


"michdenis" wrote:

Bonjour Jean,

Essaie ceci :

Tu colles le code dans le module Feuille de la Feuil2 de ton application. Si les adresses que tu as données, cela
devrait fonctionner sans retouches !

Si tu as déjà du code dans cet événement de la feuille, la section "Déclaration des variables" va dans le haut de la
procédure et tu insères ceci à la fin des procédure déjà existante. Assure-toi, que tu n'as pas déjà des variables
dans
la procédure qui possèdent déjà le nom des variables que j'utilise dans ce code.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

'Déclaration des variables:
Dim Etat As Integer
Dim R As Range, R1 As Range

If Not Intersect(Target, Range("B13:B14")) Is Nothing Then
Application.EnableEvents = False
Etat = Application.Calculation
Application.Calculation = xlCalculationManual
On Error Resume Next
With Worksheets("Feuil1")
With .Range("H14:L250")
.AutoFilter field:=1, Criteria1:=Range("B13")
.AutoFilter field:=2, Criteria2:=Range("B14")
Set R = .Offset(1, 4).Resize(, .Columns.Count - 4)
Set R1 = R.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
Range("L15:L250").Clear
R1.Copy Range("L15")
.AutoFilter
End With
End With
Application.EnableEvents = True
Application.Calculation = Etat
Set R = Nothing: Set R1 = Nothing
End If

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


Salutations!




"JEAN" a écrit dans le message de news:

oui mais du coup ca me classe mes valeurs, et comme j'ai plusieurs valeurs de
differentes colonne à recuperer.
ca les classe pas comme dans la feuille 1
je voudrai pas utilisé la fontion petite valeur.
je veux seulement recuperer mes valeurs suivant la condition qui satisfait.

si jutilise petite valeur

et que j'ai par exemple dans ma feuille 1 dans une colonne

123
190
101
23
189

je veux que ca recupere de cette facon
et pas comme ceci:
23
101
123
189
190
sinon ma recuperation est pas bonne

merci
"michdenis" wrote:

Bonsoir Jean,



Remplace K dans la formule par Ligne(A1) et tu tires ta formule vers le bas


Salutations!



"JEAN" a écrit dans le message de news:

ca repond pas tout a fait à ma questions,

quelle est le rapport avec petite valeur et la lettre K

c'est juste qu'avec cette formule
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

je voudrai recuperer chaque valeur dans la colonne de ma feuille 2 les
differentes valeurs que prennent la colonne L suivont la conditions de B13 et
B14

je comprend pas trop pourquoi petite valeur et K

merci


"Starwing" wrote:

Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing




















Avatar
michdenis
Bonjour Jean,

Écoute, je te l'ai dit... quand tu formules une question, c'est à toi de t'assurer qu'elle est complète et qu'elle
reflète bien ce que tu veux.

Ce que tu dis : " j'aurai aussi des valeurs dans la colonne M N O P S T de ma feuille 1 " cela ne faisait pas parti de
la question... il n'est pas surprenant que la réponse n'en tienne pas compte ....

Deuxièmement : qu'est-ce que les valeurs de la colonne M N O P S T de ma feuille 1 ont à voir avec la question originale
? Qu'est-ce que tu veux faire avec les données de ces colonnes ? Dans quelles circonstances ? où les copier ? Je ne
peux écrire la question à ta place !

"comment devient le programme du coup" Bien, il faut d'abord que tu fasses un petit effort pour comprendre les
procédures que je t'ai envoyées...et dans un deuxième temps que tu définisses clairement ce que tu veux d'abord dans ta
tête, et que tu reposes une question qui soit précise et complète ! Attention, peu de personnes ne sont vraiment
intéressés à modifier leur réponse initiale si que tu modifies constamment la donne de ton problème. D'où l'importance
de définir tes besoins de façon spécifique.


Salutations !



"JEAN" a écrit dans le message de news:

merci pour le lien , voila je voix mieux, mais en feuille 1
j'aurai pas seulement que des valeurs dans la colonnes L de la feuille 1
j'aurai aussi des valeurs dans la colonne M N O P S T de ma feuille 1 que je
recupere en feuille 2 suivant mes conditions.

comment devient le programme du coup.

merci



Bonjour Jean,

Tu peux télécharger l'exemple simple que je t'ai fait, les explications sommaires sont dans le classeur.

"je n'ai pas compris ton code" Il va falloir que tu y mettes quand même plus de 5 minutes ...cela m'a quand même pris
plus de 5 minutes moi-même pour l'écrire !

clique sur ce lien pour télécharger le classeur !

http://cjoint.com/?mmqyQketRn


Salutations!


"JEAN" a écrit dans le message de news:

je n'ai pas compris ton code, d'ailleur je l'ai essayé et cela ne fonctionne
pas.

A savoir que si je met en critere B13 et B14 de ma feuille 2
je doit pouvoir recuperer tout les valeurs des 10 colonnes que j'ai dans ma
feuille 1 correspondant a ces conditions.

Je peux avoir les meme conditions plusieurs fois.


merci


"michdenis" wrote:

Bonjour Jean,

Essaie ceci :

Tu colles le code dans le module Feuille de la Feuil2 de ton application. Si les adresses que tu as données, cela
devrait fonctionner sans retouches !

Si tu as déjà du code dans cet événement de la feuille, la section "Déclaration des variables" va dans le haut de la
procédure et tu insères ceci à la fin des procédure déjà existante. Assure-toi, que tu n'as pas déjà des variables
dans
la procédure qui possèdent déjà le nom des variables que j'utilise dans ce code.

'-------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)

'Déclaration des variables:
Dim Etat As Integer
Dim R As Range, R1 As Range

If Not Intersect(Target, Range("B13:B14")) Is Nothing Then
Application.EnableEvents = False
Etat = Application.Calculation
Application.Calculation = xlCalculationManual
On Error Resume Next
With Worksheets("Feuil1")
With .Range("H14:L250")
.AutoFilter field:=1, Criteria1:=Range("B13")
.AutoFilter field:=2, Criteria2:=Range("B14")
Set R = .Offset(1, 4).Resize(, .Columns.Count - 4)
Set R1 = R.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
Range("L15:L250").Clear
R1.Copy Range("L15")
.AutoFilter
End With
End With
Application.EnableEvents = True
Application.Calculation = Etat
Set R = Nothing: Set R1 = Nothing
End If

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


Salutations!




"JEAN" a écrit dans le message de news:

oui mais du coup ca me classe mes valeurs, et comme j'ai plusieurs valeurs de
differentes colonne à recuperer.
ca les classe pas comme dans la feuille 1
je voudrai pas utilisé la fontion petite valeur.
je veux seulement recuperer mes valeurs suivant la condition qui satisfait.

si jutilise petite valeur

et que j'ai par exemple dans ma feuille 1 dans une colonne

123
190
101
23
189

je veux que ca recupere de cette facon
et pas comme ceci:
23
101
123
189
190
sinon ma recuperation est pas bonne

merci
"michdenis" wrote:

Bonsoir Jean,



Remplace K dans la formule par Ligne(A1) et tu tires ta formule vers le bas


Salutations!



"JEAN" a écrit dans le message de news:

ca repond pas tout a fait à ma questions,

quelle est le rapport avec petite valeur et la lettre K

c'est juste qu'avec cette formule
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!$H$15:$H$250&Feuil1!$I$15:$I$250;0))

je voudrai recuperer chaque valeur dans la colonne de ma feuille 2 les
differentes valeurs que prennent la colonne L suivont la conditions de B13 et
B14

je comprend pas trop pourquoi petite valeur et K

merci


"Starwing" wrote:

Bonjour JEAN,

Cette formule ferait-elle ton affaire?

Pour trouver la K ième plus petite valeur répondant à une
série de conditions...

En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13þuil1!$H$15:$H$250)*
($B$14þuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);K)

k prend la valeur de 1 en D15
k prend la valeur de 2 en D16
etc...

Starwing




















1 2