Je sèche sur une formule qui vous paraîtra simple mais qui me perturbe. Je vous joins un fichier exemple.
Il y a 2 feuilles :
la première, SUIVI, est un tableau qui a été créé pour effectuer un suivi de stocks dont les données proviennent d'un logiciel, pour certaines de l'extraction d'un fichier excel.
Il a été construit et la saisie des données est manuelle. Je ne dois pas y toucher mais l'améliorer en automatisant au possible le rapatriement de données.
J'ai donc commencé par copier/coller les données de l'extraction dans une feuille, la deuxième, que j'ai appelé BD. Il me faut donc que certaines lignes uniquement de BD soient reprises dans SUIVI. Pour cela, j'ai voulu faire des SI, Et et RECHERCHEV mais je me heurte à plein d'obstacles.
Le dénominateur commun entre les 2 tableaux est le code des produits (310, 340, etc...). J'ai donc ajouté une colonne afin d'y mettre les codes à chaque ligne (cf colonne rouge) pour rendre possible la RECHERCHEV. Mais même ça, je pêche : seules les T00 de la BD doivent être reprises en fonction du code produit. (cf fichier joint)
Autre point, le tableau source ne contient aucune indication de date. Or, l'idée est que les données que je vais extraire chaque mois et venir coller dans BD doivent venir alimenter la colonne du mois concerné...
Ce que j'ai pensé à faire est une liste déroulante de mois. Ainsi dans mon commencement de formule, j'avais mis la condition du mois =Si(cell de la liste déroulante>"JANVIER";0;........)
Pas très heureux je sais. J'ai vraiment besoin de votre aide.
J'espère avoir été claire
=INDEX(BD_stock!G:G;EQUIV('111D Non Inventoriés'!A43&"T00";BD_stock!B:B&BD_stock!C:C;0))
est avant tout à validé par ctrl+maj+entree (matriciel) et non pas simplement entree
elle se moque de la nature de la valeur à renvoyer (texte ou nombre)
on recherche en colonne G la valeur correspondante à
valeur colonne A et T00 dans les colonnes B et C
en cas d'absence de valeur trouvée, tu auras #N/A
tes formules n'étaient pas validées en matriciel et parfois des erreurs de colonnes
contrairement à sommeprod (à validé par simple entree) qui ne peut renvoyer que des nombres, les critères ayant l'air plus clair
=INDEX(BD_stock!G:G;EQUIV('111D Non Inventoriés'!A43&"T00";BD_stock!B:B&BD_stock!C:C;0))
est avant tout à validé par ctrl+maj+entree (matriciel) et non pas simplement entree
elle se moque de la nature de la valeur à renvoyer (texte ou nombre)
on recherche en colonne G la valeur correspondante à
valeur colonne A et T00 dans les colonnes B et C
en cas d'absence de valeur trouvée, tu auras #N/A
tes formules n'étaient pas validées en matriciel et parfois des erreurs de colonnes
contrairement à sommeprod (à validé par simple entree) qui ne peut renvoyer que des nombres, )
Jusqu'ici, je comprends. Effectivement être obligé de convertir systématiquement est une manip en plus.
J'ai ajouté un SIERREUR à ta formule et figé des cellules.
Reste le problème du lien avec le mois. En attendant, j'ai opté pour un pauvre SI(mois de la colonne = mois sélectionné dans BD; alors INDEX blabla)
Code:
=SIERREUR(SI(F$6=BD_stock!$D$1;INDEX(BD_stock!$G:$G;EQUIV('111D Non Inventoriés'!$A10&"T00";BD_stock!$B:$B&BD_stock!$C:$C;0));0);0)
J'arrive presque à bout de cette formule mais je ne comprends pas pourquoi elle ne me renvoie pas de résultat. EN effet, je dois afficher le valeur selon un nouveau critère, celui du code compagnie que je dois rajouter en C dans 'Non Inventorié' et qui est dans la BD en A.
Où se situe mon erreur ?
En fait, je joue sur le même fichier, j'ai simplement changé le nom de l'onglet BD que j'ai appelé MSLIV et il m'a été demandé de rajouté en C dans '1112D Non Invent.' le code compagnie que tu as dans MSLIV en A.
Ma formule doit donc renvoyer la valeur de G:G qui correspond à Gauche(A7;3) et "T00" mais aussi le code compagnie qui apparaîtra dans C.
Tu as bien compris ! Mon erreur était donc d'avoir mis la plage C (C:C) entière et non la référence à la cellule (C7 par exemple) ?
Je pensais que la formule allait fonctionner avec la plage. Merci
Moauih j'ai une notion de jeu différente, le billard par exemple !
Intéressant mais je préfère ton INDEX car cette possibilité implique que je nomme ma feuille de BD chaque mois. Je vais donc tester tout ceci au boulot tout à l'heure et je reviens ici.
j'ai ouvert un autre post pour en finir (j'espère) avec ce fichier de m******