Aide pour une formule

Nessie

XLDnaute Occasionnel
Bonsoir,

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
 

Pièces jointes

  • Help.xlsx
    12.2 KB · Affichages: 63
  • Help.xlsx
    12.2 KB · Affichages: 69
  • Help.xlsx
    12.2 KB · Affichages: 67
Dernière édition:

Nessie

XLDnaute Occasionnel
Re : Aide pour une formule

Alors j'y ai pensé aussi, seulement dans SUIVI, les lignes 'stock non inventorié' sont aussi alimentées par une extraction qui elle pour le coup sort un fichier à 7 onglets que je dois venir coller aussi ici. Ajouté à cela un autre onglet de suivi d'autre chose qui sera alimenté manuellement....
Le but était d'éviter de multiplier les manip. C'est la consigne qu'on m'a donnée.
 

Nessie

XLDnaute Occasionnel
Re : Aide pour une formule

Bonsoir,

une approche ...en D4 (matricielle)
note en D7, plus besoin de la colonne A

a voir ...

Bonjour St007,

Je viens de tester ta formule dans mon fichier et je ne comprends pas pourquoi j'ai une erreur.
Il semblerait que la formule recherche la correspondance de A4 dans SUIVI dans A4 en BD.
L'étape de calcul sur l'erreur m'affiche EQUIV("310T00";"310T18")

PS, j'ai repris ton exemple pour expliquer mais dans ma base, l'erreur ne se situe pas sur les mêmes lignes
 

Spinzi

XLDnaute Impliqué
Re : Aide pour une formule

Bonjour tout le monde,

toujours pas de fichier à visualiser ? Tes données doivent être anonymisées mais pas besoi nde mettre toutes les lignes : mets seulement suffisamment de lignes différentes pour tester plusieurs conditions.

Bien à toi
 

Nessie

XLDnaute Occasionnel
Re : Aide pour une formule

Bonjour tout le monde,

toujours pas de fichier à visualiser ? Tes données doivent être anonymisées mais pas besoi nde mettre toutes les lignes : mets seulement suffisamment de lignes différentes pour tester plusieurs conditions.

Bien à toi[/Q


Voilà le fichier. c'est moi qui a ajouté la colonne A dans l'onlget non inventorié
 
Dernière édition:

Spinzi

XLDnaute Impliqué
Re : Aide pour une formule

Il faudrait, si tu souhaites avoir le détail par mois, rajouter une colonne "Mois" dans ta grosse base de données (BD_Stock).
On pourrait ensuite, via une cellule à liste de validation, choisir les "111D Non Inventoriés / Inventoriés" suivant cete variable.

Pour l'instant si j'ai bien compris tu cherches à résoudre les probleme de "#valeur" dans tes formules ?
 

Nessie

XLDnaute Occasionnel
Re : Aide pour une formule

Il faudrait, si tu souhaites avoir le détail par mois, rajouter une colonne "Mois" dans ta grosse base de données (BD_Stock).
On pourrait ensuite, via une cellule à liste de validation, choisir les "111D Non Inventoriés / Inventoriés" suivant cete variable.
J'ai pensé à ajouté une colonne mois mais je ne voyais pas comment faire le lien d'autant que ce sera la même formule tous les mois. Mais attention, les non inventoriés sont des données manuelles. Pas d'export excel existant à ce jour donc pas d'extraction à venir copier.

Pour l'instant si j'ai bien compris tu cherches à résoudre les probleme de "#valeur" dans tes formules ?
exact ! Je ne comprends pas pourquoi il me renvoie la valeur correspondant à la même ligne que dans Non-Invent

Tu es pil-poil dans mes 2 problématiques
 
Dernière édition:

Spinzi

XLDnaute Impliqué
Re : Aide pour une formule

j'ai travaillé rapidos dessus mais je pense que c'est facilement automatisable (gérer des plage de données automatiques, etc).
Je te propose un premier exemple où je n'ai travaillé que sur l'onglet "Non inventoriés".
Dans la base j'ai rajouté une colonne mois en colonne A de la base de données et j'ai converti tes données de la colonne H car apparemment pas en nombre.

Dis moi si je vais dans le bon sens et si tu as des demandes particulières tant que j'y suis =)

ps : a quoi sert ta macro ? (je suis nul en VBA)
 

Pièces jointes

  • exemple_reel (1)Test1.xlsm
    53.1 KB · Affichages: 48

Spinzi

XLDnaute Impliqué
Re : Aide pour une formule

Selectionne une colonne => Onglet "Données => "Convertir" => "Largeur Fixe".
Attention aux données de ta base, si elles diffèrent de celles que tu utilises dans tes synthèse, aucun lien ne se fera jamais ...
D'ailleurs si tu utilisais les mêmes noms dans ta base ("Stock final" au lieu de "Stock fin de mois") tu pourrais avoir qqchose de plus agile encore !
 

st007

XLDnaute Barbatruc
Re : Aide pour une formule

Bonjour,

explication
Code:
=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

Code:
=SOMMEPROD((BD!$B$2:$B$100=GAUCHE($A6;3)*1)*(BD!$C$2:$C$100="T00")*BD!$F$2:$F$100)
(BD!$B$2:$B$100=GAUCHE($A6;3)*1) critère 1
(BD!$C$2:$C$100="T00") critère 2
BD!$F$2:$F$100 valeur à renvoyer

sympa la fonction =SheetName() qui te donne le nom de l'onglet
Code:
=STXT(CELLULE("nomfichier");TROUVE("]";CELLULE("nomfichier"))+1;NBCAR(CELLULE("nomfichier"))-TROUVE("]";CELLULE("nomfichier")))
fait la même chose sans VBA (macro)
 
Dernière édition:

Nessie

XLDnaute Occasionnel
Re : Aide pour une formule

Selectionne une colonne => Onglet "Données => "Convertir" => "Largeur Fixe".
Attention aux données de ta base, si elles diffèrent de celles que tu utilises dans tes synthèse, aucun lien ne se fera jamais ...
D'ailleurs si tu utilisais les mêmes noms dans ta base ("Stock final" au lieu de "Stock fin de mois") tu pourrais avoir qqchose de plus agile encore !

ça fonctionne plutôt bien ! Merci.
Tu ne codes pas ? :) car tu aurais une idée de valider les données d'un mois de façon à ce qu'elles soient sauvegardées une fois chargées et qu'on passe au mois suivant ?
 

Discussions similaires

Réponses
10
Affichages
196
Réponses
8
Affichages
365
Réponses
4
Affichages
375

Statistiques des forums

Discussions
312 160
Messages
2 085 837
Membres
102 998
dernier inscrit
billABDELL