Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
Je désirais que tous les valeurs identiques, se retrouvent dans la même cellule du fichier suivant.
Exemple
Soit le fichier : Val-Départ dans les cellules B12 à B19, je peux avoir plusieurs cellules de même nom
Soit 3 x C0001 ou 2 x C0003 et ainsi de suite.
J’ai besoin que le nom C0001 puisse s’inscrire que dans la cellule E8 du fichier liv.comp.four-client
Et de même pour les autres noms, soit C0003 ou C0004
Plus simple à voir sur Le fichier joint.
Pouvez-vous me communiquer, comment procéder.
SCICO,
je reviens, car j'ai une inversion des données dans valeur initiale entre elba et georges !!
je ne parviens pas à corrigé l'erreur!!
Si ..
Voir dans fichier joint. version 3
Merci
mistral123
Bonjour,
Je reviens vers vous, car j’ai des petits soucis.
Vous proposez de placer la formule ci-dessus en F8
1. =RECHERCHEV(E8;'Val-Départ'!B$12:C$19;2;0)
Mais pour éviter d’avoir la remarque : #N/A, j’ai dû mettre celle-ci :
=SI(ESTNA(RECHERCHEV($E$11;'Val-Départ'!B$12:$D19;10;FAUX));;RECHERCHEV($E$11;'Val-Départ'!B$12:$D19;10;FAUX))'
Cela fonctionne donc OK
Mais pour faire la recherche des montants qui doivent être indiqués dans les cellules E13 à E20 (Liv.comp four-client)
J’ai été obligé de placer cette formule :
=SI(ESTNA(RECHERCHEV($E$11;'Val-Départ'!B12:$K$12;10;FAUX));;RECHERCHEV($E$11;'Val-Départ'!B12:$K$12;10;FAUX))'
Qui me donne les montants des cellules de K12 à K19 (Val-Départ)
Le souci, c’est que je dois rechercher que sur une ligne et non dans la plage : D11 à K19
Et cela pour toutes les lignes.,est-ce logique ou pas.
Je joins le fichier avec des valeurs réelles pour constater
Merci de bien vouloir me renseigner.
Bonjour,
Mais pour éviter d’avoir la remarque : #N/A, j’ai dû mettre celle-ci :
=SI(ESTNA(RECHERCHEV($E$11;'Val-Départ'!B$12:$D19;10;FAUX));;RECHERCHEV($E$11;'Val-Départ'!B$12:$D19;10;FAUX))'
Cela fonctionne donc OK
Mille et une excuse, je n'avais pas vu la seconde partie!!
En E12 jusque E19 je dois pouvoir retrouver les valeurs inscritent de K12 à K19 du fichier (Val-Départ) qui correspond aux factures client
c-à-d de K12 à K19
De F12 à F19, je dois pouvoir retrouver les valeurs inscritent de R12 à R19 du fichier (Val-Départ) qui correspond aux compte banque clients c-à-d de R12 à R19
J'espère que c'est suffisamment expliqué.
Merci encore.
mistral123
Non, La valeur initiale (VI) est une donnée qui est 619.73
C'est juste en dessous c-à-d en E13 que je dois trouver la valeur ici 10 en (K12) et aussi pour les valeurs comprises entre E13 et E20 et uniquement pour C0036.
Car C0036 peut se trouver en 5ème position.
J'ai commis une erreur car c0036 représente au elba, c'est une erreur de ma part.
Mais, si l'on doit utiliser la fonction INDEX, je souhaiterais plus d'explication, car je ne comprend pas très bien les valeurs utilisées
Je désirais une explication supplémentaire, surtout pour savoir l'utiliser dans d'autre condition.
merci
mistral123
(NB.SI(E$11:E12;'Val-Départ'!K$12:K$19)=0) permet de recenser dans K$12:K$19 les termes pas encore cités en E$11:E12 (ce qui permet d'éliminer les doublons contenus dans K$12:K$19, pour ne pas les citer deux fois dans la colonne E)
Comme il ni y a pas de $ devant le 12, cette partie de formule en E14 devient (NB.SI(E$11:E13;'Val-Départ'!K$12:K$19)=0), donc recense les termes de K$12:K$19 pas encore cités en E$11:E13.
('Val-Départ'!B$12:B$19=E$11) permet de ne prendre en compte que les lignes contenant le Num Client en 'Val-Départ'!B$12:B$19 aussi contenu dans E$11.
(NB.SI(E$11:E12;'Val-Départ'!K$12:K$19)=0)*('Val-Départ'!B$12:B$19=E$11) ne renvoie donc VRAI*VRAI, donc 1, que lorsque le terme en K$12:K$19 n'a pas encore été cité et que le Num Client en B$12:B$19 est égal à celui en E$11.
Si on a VRAI, la formule renvoie le numéro de la ligne correspondante avec LIGNE($12:$19). Comme il ni y a pas forcément qu'une ligne renvoyant 1 au produit, au test précédent, on n'en garde qu'une avec MIN.
Finalement INDEX('Val-Départ'!K$1:$K20;MIN(....)) renvoie le contenu de la cellule sur la ligne MIN de la plage 'Val-Départ'!K$1:$K20.
Cela ne fonctionne qu'en matriciel car normalement la fonction NB.SI(plage;test), par exemple NB.SI(E$11:E15;K$12) utilise comme test une seule valeur, ou une condition par rapport à une seule valeur, par exemple NB.SI(E$11:E15;">"&K$12), et pas par rapport à une série de valeurs, comme dans NB.SI(E$11:E15;K$12:K$19)
Pour voir comment cela fonctionne, sélectionne une cellule contenant la formule. Clique sur l'onglet "Formule", puis sur "Evaluation de formule" (la petite loupe vers la droite, au dessus de la barre de formule).
Avec ma méthode, on obtient les résultats les uns après les autres même si les lignes concernant un client particulier ne se suivent pas les unes après les autres.
Si tu veux faire plus simple, et si les lignes concernant un client particulier se suivent, tu peux effectivement faire en E13 avec
formule que tu peux tirer vers le bas (attention aux $, pas placés exactement comme dans ta formule : pas de $ devant les 12 puisqu'en E14, on doit avoir des 13, en E15 des 14 et ainsi de suite).
mais il y a encore plus simple, à savoir
Mais la fonction INDEX n'est pas simple à expliquer.
D'autant plus pour une personne qui est en 5ème compta chez-nous (BE)
@ plus également.
mistral123
Ce site utilise des cookies pour personnaliser le contenu, adapter votre expérience et vous garder connecté si vous vous enregistrez.
En continuant à utiliser ce site, vous consentez à notre utilisation de cookies.