Aide pour faciliter un travail de monstre

Bonjour à tous,

Je travaille en ce moment sur un document excel pour gérer les stock et coût journalier d'un hôtel.

Mon document se compose de deux grandes "parties",

- La première c'est un tableau récapitulant tous les produits de l'hôtel, le stock, deux cases par jour sur 31 jours pour rentrer le nombre de produits qui sort ou rentre du stock, le stock actualisé, le prix unitaire de chaque produit, et la valeur du stock.

- La deuxième parties sont des feuilles comportant des fiches dis-positionnées régulièrement, détaillant chaque produits, donnant un peu plus de détails (prix moyen du stock, entrées/sorties, valeur de ce stock etc...).

Actuellement je suis en train de programmer mon document pour que je puisse travailler uniquement sur mon tableau et que toutes les fiches ce mettent automatiquement à jour.

Mon problème est que créer plus de 200 fiches reliée au tableau principale est un travaille titanesque et que quand la personne qui prendra ma suite devra ajouter un nouveau produit, ça risque d'être compliqué pour elle...

Je voudrais (si c'est possible) pouvoir sélectionner une fiche avec toutes les formules qui la relie au tableau et pars une manip comme descendre vers le bas, faire que toutes mes fiches (et bien sûr leurs formules) se mettent à jour et s'adapte à mon tableau.

Je sais pas si je suis très clair donc n'hésitez pas me demander plus de détails !

Je pense que la fonction décaler pourrai marcher mais c'est de loin au-dessus de mes capacités sur excel.

Ci-dessous un exemple de mon document et mon document.

excel tableau excel fiches
31version-final.xlsx (106.60 Ko)

Ce que je te propose :

  • ajoute une colonne à ton tableau : cela fera la concaténation du produit et du conditionnement (colonne D qui servira d'identifiant)
  • dans les fiches, je te propose une formule passe-partout, il suffit de mettre le nom EXACT du produit et la bonne valeur est prise en compte
=RECHERCHEV($A1;TABLEAU!$D:$BN;COLONNE();0)
24version-final.xlsx (91.66 Ko)

Merci pour ta réponse Steelson, ça va me simplifier certaines choses.

Mais tu na pas bien compris ce que je cherchais.

Je dois créer 200 fiches comme celle sur la feuille A-B-C-D avec deux formules qui renvois à mon tableau, la première pour la ligne des "=" et "-", qui renvois à la même ligne du tableau et la deuxième la valeur du stock qui renvois à la colonne BR du tableau.

Je peux faire tout ça manuellement mais ça va être très long.

Le top serai que j'ai une formule (comme "décaler" par exemple) qui me permettre de choper toute une fiche et en descendant vers celle d'en dessous je puisse faire que ces formules se mette automatiquement à jour (dans la ligne équivalent au produit bien sur).

Par exemple ma première fiche (de la photo au dessus) est "Aceite Balsamico 500ml", sa ligne 4 donne les valeurs écrite dans la ligne 4 (avec ta formule par exemple) de mon tableau et sa ligne 12 apparaît dans la case BR4 du tableau avec la formule suivante

=INDEX('A-B-C-D'!$A$12:$BK$12;MAX(SI('A-B-C-D'!$A$12:$BK$12>0;COLONNE('A-B-C-D'!$A$12:$BK$12))))

Je voudrai qu'en sélectionnant cette fiche et en descendant vers le bas, vers ma 2e fiche "Aceite Borranza 5lt", la ligne 18 fasse référence à la ligne 5 du tableau et que sa ligne 26 apparaisse dans la case BR5 du tableau avec la fonction adapter soit :

=INDEX('A-B-C-D'!$A$26:$BK$26;MAX(SI('A-B-C-D'!$A$26:$BK$26>0;COLONNE('A-B-C-D'!$A$26:$BK$26))))

et ainsi de suite pour toutes les fiches

PS : Si le nom du produit disparaît avec cette manip et les quantité, prix, je m'en fous, c'est les formules qui m’intéresse.

Et bien si justement, recopie la feuille ou le groupe de cellules autant de fois que tu veux en changeant juste le nom du produit ... et tu verras, puisque RECHERCHEV fait référence au nom du produit (attention à l'orthographe)

L'astuce a été de rajouter la colonne D qui concatène le nom du produit et le conditionnement.

Quand cette valeur est correctement recopiée en tête du groupe de cellule, la fonction proposée va rechercher la ligne correspondante dans le tableau : c'est le rôle de la fonction RECHERCHEV

Quant aux colonnes, j'ai utilisé COLONNE() justement pour faciliter

j'ai ajouté quelques groupes avec les autres produits ... tu verras les formules n'ont pas changé d'un poil mais les résultats le seront une fois le tableau rempli !

Bonjour

Une autre solution

Le moyen le plus simple est de modifier les cellules contenant les produits sur la Feuille "A-B-C-D"

ici, la cellule fusionnée A1:E1 est transformée de la manière suivante

Les cellules A1:C1 sont fusionnées et contiennent le nom du produit

La cellule D1 contient le conditionnement

une seule formule simple pour le reste

en ligne 4

=RECHERCHEV($A1;TABLEAU!$B$4:$BM$208;COLONNE()+1;0)

qui se copie-colle sur les lignes concernées, 18, 32, etc

Cordialement

17version-final.xlsx (103.64 Ko)

ok je vais faire une solution encore plus simple en utilisant LIGNE() mais il faudra respecter la mise en page avec 2 lignes vierges entre chaque groupe

Ah ouai ! Je viens de comprendre, merci beaucoup ! Je vais déjà gagner beaucoup de temps comme ça !

Le seul problème est que ma formule dans la colonne BR du tableau ne s'adapte pas.

PS : j'ai posté ça avant de voir les autres msg, je vais tester ce que vous me proposez

=INDEX(TABLEAU!$C:$BO;(LIGNE()-4)/14+4;COLONNE())

Super ! merci ! pour le copier-coller c'est parfait (la version de Steeel, qui si on garde la mise en forme permet aussi d'ajouter des produits plus facilement et sans recopier de formule).

Mais la formule de la colonne en BR du tableau ne se met toujours pas à jour automatiquement.

Parce que ma valor stock des fiches prend en compte le changement de prix du produit, c'est pour cela qu'il me la faut absolument en BR.

Si dans la colonne BR je met une formule INDEX + La formule déjà présente, en gros faire comme pour les fiches mais en inversant pour qu'il aille chercher la ligne valor stock. ça serait possible? En descendant vers le bas il mettrai automatiquement à jour la formule puisque les fiches sont régulière (avec 2 lignes d'espace entre chacune) nn?

Et peut-tu m'expliquer à quoi correspond exactement les valeurs de la formule (surtout les parties en rouge :

=INDEX(TABLEAU!B:C;(LIGNE()-1)/14+4;1)&" "&INDEX(TABLEAU!B:C;(LIGNE()-1)/14+4;2)

Parce que j'aime comprendre quand je fais quelque chose et en plus je vais créer 3 feuilles "Bodega" ; "Officina" ; "Bebidas" et "Congelado" et que je veux pouvoir l'adapter

Pour BR c'est complexe, c'est une fonction matricielle ... je ne sais pas en fait ce qu'elle fait !

Je pense qu''il faudrait faire le calcul dans l'onglet ABCD et ramener ensuite la valeur.

INDEX(TABLEAU!B:C;(LIGNE()-1)/14+4;1) = va chercher le nom du produit en colonne 1

INDEX(TABLEAU!B:C;(LIGNE()-1)/14+4;2) = va chercher le conditionnement du produit en colonne 2

sur la ligne de TABLEAU qui équivaut à (LIGNE()-1)/14+4, mais dans la formule LIGNE() est la ligne dans l'onglet ABCD

en clair :

ligne ABCD _______________ va chercher la ligne du TABLEAU

1__________________________4

15_________________________5

29_________________________6 = (29-1)/14+4

etc.

voici pour le calcul en BR

je n'ai fait que déplacer la formule matricielle sous le titre de chaque bloc dans ABCD et j'ai fait appel à cette valeur dans TABLEAU

or lorsque le stock est à 0 elle donne un texte !!

si on cherche seulement la valeur mini du stock, il doit y avoir plus simple comme formule ...

Merci pour les explications

Cette formule me sert à afficher la valeur la plus à droite >0 de la ligne "valor stock" des fiches. Afin que dans la colonne BR il y est toujours les valeurs du stock actuelle pour qu'on sache combien il représente.

Parfait avec ta formule toute simple ça marche ! Je crois que j'ai tous en main pour terminer mon doc maintenant.

Encore merci !

Rechercher des sujets similaires à "aide faciliter travail monstre"