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 cela est dans la feuille 1
si dans ma feuille 2 je rentre en B13 la valeur 10 et en B14 la valeur 20
suivant ces conditions je vais chercher la bonne valeur dans la feuille 1
correspondant a ces conditions, mais comment tirer mes lignes avec cette
formules etant données que je peux avoir plusieur fois ces meme conditions
dans les colonnes de la feuille 1.
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 corresponderont bien au code rentré.
je n'aurai pas 100 car il correspond pas au code
merci de votre aide.
Je te repropose ma réponse précédente avec une variation de michdenis:
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);ligne(a1)) et tire la formule vers le bas.
Ta formule initiale: =INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1! $H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais répondre à ta demande. Elle trouve seulement la première condition qui réponds à tes deux conditions $B$13&$B$14. Toi tu veux trouver aussi la deuxième valeur, la troisième valeur, etc... La fonction PETITE.VALEUR contourne donc ce problème, celle-ci peut trouver la première valeur, la deuxième valeur, etc. qui réponds à tes deux conditions.
Starwing
Bonsoir JEAN
Je te repropose ma réponse précédente avec une variation
de michdenis:
En D15:
Matricielle:
Validation par Ctrl + Shift + Entrée
=PETITE.VALEUR(SI(($B$13=Feuil1!$H$15:$H$250)*
($B$14=Feuil1!$I$15:$I$250);Feuil1!$L$15:$L$250);ligne(a1))
et tire la formule vers le bas.
Ta formule initiale:
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!
$H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais
répondre à ta demande. Elle trouve seulement la première
condition qui réponds à tes deux conditions $B$13&$B$14.
Toi tu veux trouver aussi la deuxième valeur, la troisième
valeur, etc...
La fonction PETITE.VALEUR contourne donc ce problème,
celle-ci peut trouver la première valeur, la deuxième
valeur, etc. qui réponds à tes deux conditions.
Je te repropose ma réponse précédente avec une variation de michdenis:
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);ligne(a1)) et tire la formule vers le bas.
Ta formule initiale: =INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1! $H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais répondre à ta demande. Elle trouve seulement la première condition qui réponds à tes deux conditions $B$13&$B$14. Toi tu veux trouver aussi la deuxième valeur, la troisième valeur, etc... La fonction PETITE.VALEUR contourne donc ce problème, celle-ci peut trouver la première valeur, la deuxième valeur, etc. qui réponds à tes deux conditions.
Starwing
JEAN
oui ta formule avec petite valeur, me classe mes valeurs.
mais moi je ne veux pas les classer puisque dans ma feuille 1
j'ai les deux conditions: B13 =5 B14= 6 par exemple. sur ma colonne E15 j'aurai 200 ma colonne F15= 103 sur ma colonne E16 j'aurai 197 ma colonne F16= 108 sur ma colonne E17 j'aurai 203 ma colonne F17= 112
moi je veux recuperer ces valeurs qui satisfait les conditions c'est a dire recuperer dans deux colonnes de ma feuilles 2 d'un coté 200 et de l'autre colonne 103 197 108 203 112
mais avec ta formule tout est rangé de la plus petite valeur du coup ca correspond plus a ce que je souhaite avec ta formule j'aurai 197 103 200 108 203 112 mais moi je veux juste récuperer c'est a dire suivant les meme conditions j'aurai 200 103 197 108 203 112 comment remplacer petite valeur pour que je puisse avoir ceci
merci "Starwing" wrote:
Bonsoir JEAN
Je te repropose ma réponse précédente avec une variation de michdenis:
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);ligne(a1)) et tire la formule vers le bas.
Ta formule initiale: =INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1! $H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais répondre à ta demande. Elle trouve seulement la première condition qui réponds à tes deux conditions $B$13&$B$14. Toi tu veux trouver aussi la deuxième valeur, la troisième valeur, etc... La fonction PETITE.VALEUR contourne donc ce problème, celle-ci peut trouver la première valeur, la deuxième valeur, etc. qui réponds à tes deux conditions.
Starwing
oui ta formule avec petite valeur, me classe mes valeurs.
mais moi je ne veux pas les classer puisque dans ma feuille 1
j'ai les deux conditions: B13 =5 B14= 6 par exemple.
sur ma colonne E15 j'aurai 200 ma colonne F15= 103
sur ma colonne E16 j'aurai 197 ma colonne F16= 108
sur ma colonne E17 j'aurai 203 ma colonne F17= 112
moi je veux recuperer ces valeurs qui satisfait les conditions c'est a dire
recuperer
dans deux colonnes de ma feuilles 2
d'un coté 200 et de l'autre colonne 103
197 108
203 112
mais avec ta formule tout est rangé de la plus petite valeur
du coup ca correspond plus a ce que je souhaite avec ta formule j'aurai
197 103
200 108
203 112
mais moi je
veux juste récuperer
c'est a dire suivant les meme conditions j'aurai
200 103
197 108
203 112
comment remplacer petite valeur pour que je puisse avoir ceci
merci
"Starwing" wrote:
Bonsoir JEAN
Je te repropose ma réponse précédente avec une variation
de michdenis:
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);ligne(a1))
et tire la formule vers le bas.
Ta formule initiale:
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!
$H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais
répondre à ta demande. Elle trouve seulement la première
condition qui réponds à tes deux conditions $B$13&$B$14.
Toi tu veux trouver aussi la deuxième valeur, la troisième
valeur, etc...
La fonction PETITE.VALEUR contourne donc ce problème,
celle-ci peut trouver la première valeur, la deuxième
valeur, etc. qui réponds à tes deux conditions.
oui ta formule avec petite valeur, me classe mes valeurs.
mais moi je ne veux pas les classer puisque dans ma feuille 1
j'ai les deux conditions: B13 =5 B14= 6 par exemple. sur ma colonne E15 j'aurai 200 ma colonne F15= 103 sur ma colonne E16 j'aurai 197 ma colonne F16= 108 sur ma colonne E17 j'aurai 203 ma colonne F17= 112
moi je veux recuperer ces valeurs qui satisfait les conditions c'est a dire recuperer dans deux colonnes de ma feuilles 2 d'un coté 200 et de l'autre colonne 103 197 108 203 112
mais avec ta formule tout est rangé de la plus petite valeur du coup ca correspond plus a ce que je souhaite avec ta formule j'aurai 197 103 200 108 203 112 mais moi je veux juste récuperer c'est a dire suivant les meme conditions j'aurai 200 103 197 108 203 112 comment remplacer petite valeur pour que je puisse avoir ceci
merci "Starwing" wrote:
Bonsoir JEAN
Je te repropose ma réponse précédente avec une variation de michdenis:
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);ligne(a1)) et tire la formule vers le bas.
Ta formule initiale: =INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1! $H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais répondre à ta demande. Elle trouve seulement la première condition qui réponds à tes deux conditions $B$13&$B$14. Toi tu veux trouver aussi la deuxième valeur, la troisième valeur, etc... La fonction PETITE.VALEUR contourne donc ce problème, celle-ci peut trouver la première valeur, la deuxième valeur, etc. qui réponds à tes deux conditions.
Starwing
michdenis
Ceci est une copie du message adressé à l'autre fil traitant du même sujet :
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 ta formule avec petite valeur, me classe mes valeurs.
mais moi je ne veux pas les classer puisque dans ma feuille 1
j'ai les deux conditions: B13 =5 B14= 6 par exemple. sur ma colonne E15 j'aurai 200 ma colonne F15= 103 sur ma colonne E16 j'aurai 197 ma colonne F16= 108 sur ma colonne E17 j'aurai 203 ma colonne F17= 112
moi je veux recuperer ces valeurs qui satisfait les conditions c'est a dire recuperer dans deux colonnes de ma feuilles 2 d'un coté 200 et de l'autre colonne 103 197 108 203 112
mais avec ta formule tout est rangé de la plus petite valeur du coup ca correspond plus a ce que je souhaite avec ta formule j'aurai 197 103 200 108 203 112 mais moi je veux juste récuperer c'est a dire suivant les meme conditions j'aurai 200 103 197 108 203 112 comment remplacer petite valeur pour que je puisse avoir ceci
merci "Starwing" wrote:
Bonsoir JEAN
Je te repropose ma réponse précédente avec une variation de michdenis:
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);ligne(a1)) et tire la formule vers le bas.
Ta formule initiale: =INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1! $H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais répondre à ta demande. Elle trouve seulement la première condition qui réponds à tes deux conditions $B$13&$B$14. Toi tu veux trouver aussi la deuxième valeur, la troisième valeur, etc... La fonction PETITE.VALEUR contourne donc ce problème, celle-ci peut trouver la première valeur, la deuxième valeur, etc. qui réponds à tes deux conditions.
Starwing
Ceci est une copie du message adressé à l'autre fil traitant du même sujet :
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" <JEAN@discussions.microsoft.com> a écrit dans le message de news:
6BBAD0C3-42D4-4197-A5BB-1B12C431FC57@microsoft.com...
oui ta formule avec petite valeur, me classe mes valeurs.
mais moi je ne veux pas les classer puisque dans ma feuille 1
j'ai les deux conditions: B13 =5 B14= 6 par exemple.
sur ma colonne E15 j'aurai 200 ma colonne F15= 103
sur ma colonne E16 j'aurai 197 ma colonne F16= 108
sur ma colonne E17 j'aurai 203 ma colonne F17= 112
moi je veux recuperer ces valeurs qui satisfait les conditions c'est a dire
recuperer
dans deux colonnes de ma feuilles 2
d'un coté 200 et de l'autre colonne 103
197 108
203 112
mais avec ta formule tout est rangé de la plus petite valeur
du coup ca correspond plus a ce que je souhaite avec ta formule j'aurai
197 103
200 108
203 112
mais moi je
veux juste récuperer
c'est a dire suivant les meme conditions j'aurai
200 103
197 108
203 112
comment remplacer petite valeur pour que je puisse avoir ceci
merci
"Starwing" wrote:
Bonsoir JEAN
Je te repropose ma réponse précédente avec une variation
de michdenis:
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);ligne(a1))
et tire la formule vers le bas.
Ta formule initiale:
=INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1!
$H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais
répondre à ta demande. Elle trouve seulement la première
condition qui réponds à tes deux conditions $B$13&$B$14.
Toi tu veux trouver aussi la deuxième valeur, la troisième
valeur, etc...
La fonction PETITE.VALEUR contourne donc ce problème,
celle-ci peut trouver la première valeur, la deuxième
valeur, etc. qui réponds à tes deux conditions.
Ceci est une copie du message adressé à l'autre fil traitant du même sujet :
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 ta formule avec petite valeur, me classe mes valeurs.
mais moi je ne veux pas les classer puisque dans ma feuille 1
j'ai les deux conditions: B13 =5 B14= 6 par exemple. sur ma colonne E15 j'aurai 200 ma colonne F15= 103 sur ma colonne E16 j'aurai 197 ma colonne F16= 108 sur ma colonne E17 j'aurai 203 ma colonne F17= 112
moi je veux recuperer ces valeurs qui satisfait les conditions c'est a dire recuperer dans deux colonnes de ma feuilles 2 d'un coté 200 et de l'autre colonne 103 197 108 203 112
mais avec ta formule tout est rangé de la plus petite valeur du coup ca correspond plus a ce que je souhaite avec ta formule j'aurai 197 103 200 108 203 112 mais moi je veux juste récuperer c'est a dire suivant les meme conditions j'aurai 200 103 197 108 203 112 comment remplacer petite valeur pour que je puisse avoir ceci
merci "Starwing" wrote:
Bonsoir JEAN
Je te repropose ma réponse précédente avec une variation de michdenis:
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);ligne(a1)) et tire la formule vers le bas.
Ta formule initiale: =INDEX(Feuil1!L15:L250;EQUIV($B$13&$B$14;Feuill1! $H$15:$H$250&Feuil1!$I$15:$I$250;0)) ne pourra jamais répondre à ta demande. Elle trouve seulement la première condition qui réponds à tes deux conditions $B$13&$B$14. Toi tu veux trouver aussi la deuxième valeur, la troisième valeur, etc... La fonction PETITE.VALEUR contourne donc ce problème, celle-ci peut trouver la première valeur, la deuxième valeur, etc. qui réponds à tes deux conditions.
Starwing
Starwing
Bonjour JEAN,
Dans ton premier exemple, en D16 la formule suivante:
--
Au plaisir de vous revoir ...
Visitez >> http://www.excelabo.net
Le merveilleux site de Misange
Starwing
brault-lavoieNOSPAM@sympatico.ca
--
"Daniel.M" <prenom.maher@bigfoot.inutil.com> a écrit dans le message de
news:uPWEfTM4EHA.2012@TK2MSFTNGP15.phx.gbl...
Je travaille chez moi avec une version anglaise, je dois
donc tout retranscrire en Français lorsque j'envoie mes
réponses.