XL 2016 Problème de classement de prix croissants non désiré

SylvainC13

XLDnaute Nouveau
Bonjour à tous,



Je suis responsable de travaux dans une grande société, en charge de la maintenance et des investissements en génie civil.

Je cogite depuis environ une année sur un problème que je ne parviens pas à résoudre. Peut-être saurez-vous m’aider !

J’ai créé un support de passation de commande composé de 3 classeurs majeurs :

Une fiche de demande de prestation (FDP) - pas de problème sur ce classeur

Un constat de service fait (CSF) - objet de ma requête

Un BPU - dans lequel les classeurs FDP et CSF viennent puiser une partie de leur contenu.



Résumé de la construction du fichier : On saisit des quantités dans le classeur BPU dans la colonne quantité, qui vient alimenter à la fois la FDP et le CSF.

Je me heurte à un retour d’expérience complexe : lorsque nous établissons des bons de commande, nous oublions parfois certaines prestations qui seront néanmoins essentiels au bon achèvement des travaux. Dans le CSF je dois donc pouvoir ajouter des lignes, en dessous de celles déjà existantes, pour pouvoir réceptionner les quantités réalisées mais non initialement commandées.

Pour se faire, via un jeu de formules, en indiquant la quantité « 0 » dans la quantité du prix correspondant, la ligne vient s’incrémenter en dessous des autres dans le CSF.

Seulement voici le problème, certains chantiers nécessitent plusieurs avancements de travaux, souvent chaque fin de mois pour payer les travaux réalisés durant le mois écoulé.

Le cas de figure qui me pose soucis est le suivant :

J’ai commandé les prix 1, 4 et 11.

voir image 1

Lors du premier avancement, je dois rémunérer l’entreprise du prix non prévu n°3 et 10, j’ajoute donc un 0 dans la colonne quantité des prix correspondants. J’indique les quantités réalisées :

voir image 2

Tout va bien, les prix 3 et 10 sont bien en dessous et ne viennent pas perturber l’ordre des prix commandés du dessus qui sont rangés, de base, par ordre croissant.



Lors du deuxième avancement, on s’aperçoit qu’un autre prix est nécessaire à l’exécution de la prestation, le n°5, et c’est là mon problème d’affichage :

voir image 3

Les quantités indiqués dans la colonne Cumulées Mois M-1, pour les prix non initialement commandés, se retrouvent à la mauvaise place si j’intercale un prix entre deux (5 se situant entre 3 et 10) et du coup cela fausse mon document et nécessite une action manuelle, ce qui est dommage pour un fichier qui se veut efficient et sécurisé.



J’ai une solution mais qui complexifie la saisie pour l’équipe, recréer dans le classeur BPU les mêmes formules que pour le « 0 » sur la base d’une autre valeur fixe, par exemple « a », en dessous de celles du « 0 ».

Je voudrais, dans l’idéal, pouvoir mettre un « 0 » en face du prix n°5 et qu’il s’incrémente dans le classeur BPU en dessous des lignes des prix n°3 et 10, dans l’ordre chronologique de leur saisie.

Je vous joins en PJ le fichier, en espérant avoir été clair, c’est assez complexe à expliquer et je suis grand débutant mais passionné !
Désolé pour le pavé, j'essaye de mettre du contexte en me disant que cela peut aider à la compréhension de mon besoin.
 

Pièces jointes

  • image 1.png
    image 1.png
    13.9 KB · Affichages: 17
  • image 2.png
    image 2.png
    15.8 KB · Affichages: 17
  • image 3.png
    image 3.png
    16.8 KB · Affichages: 17
  • FDP-CSF - TEST.xlsm
    82.2 KB · Affichages: 12

gbinforme

XLDnaute Impliqué
Bonjour,
Tu as créé ton classeur avec ta logique à toi et c'est un grand mérite de le faire ainsi.
Pour te donner une solution il faudrait intégrer ton raisonnement et c'est bien difficile pour le faire.

J'avoue que je n'y arrive pas pour l'instant
 

chris

XLDnaute Barbatruc
Bonjour à tous

Lier deux tableaux par des formules de type =SI(FDP!A22="";"";FDP!A22) est une mauvaise pratique comme tu peux le constater.
Elle interdit toute insertion, suppression ou tri de la source.

Il faut saisir dans CSF la colonne numéro et on peut simplifier via une liste déroulante listant les N° de FDP.
Cela permet de récupérer, d'une autre manière que tes formules, les données des colonnes B à D.
La nouvelle ligne pour 3 sera saisie sous les autres et ne perturbera donc pas le reste

J'ai modifié la plupart de tes formules dans les 2 onglets : on ne met pas "" dans une colonne numérique.

Il y aurait sans doute à améliorer car BPU ne me parait pas otimum et en plus tu risques le même problème sur les prix...
Mais là je n'ai pas tout compris
 

Pièces jointes

  • FDP-CSF - TEST.xlsm
    75.4 KB · Affichages: 4
Dernière édition:

SylvainC13

XLDnaute Nouveau
Bonjour à tous

Lier deux tableaux par des formules de type =SI(FDP!A22="";"";FDP!A22) est une mauvaise pratique comme tu peux le constater.
Elle interdit toute insertion, suppression ou tri de la source.

Il faut saisir dans CSF la colonne numéro et on peut simplifier via une liste déroulante listant les N° de FDP.
Cela permet de récupérer, d'une autre manière que tes formules, les données des colonnes B à D.
La nouvelle ligne pour 3 sera saisie sous les autres et ne perturbera donc pas le reste

J'ai modifié la plupart de tes formules dans les 2 onglets : on ne met pas "" dans une colonne numérique.

Il y aurait sans doute à améliorer car BPU ne me parait pas otimum et en plus tu risques le même problème sur les prix...
Mais là je n'ai pas tout compris
Merci !

Déjà une correction sur mon premier message :

Je voudrais, dans l’idéal, pouvoir mettre un « 0 » en face du prix n°5 et qu’il s’incrémente dans le classeur BPU en dessous des lignes des prix n°3 et 10, dans l’ordre chronologique de leur saisie.

C'est bien dans le classeur "CSF" et pas "BPU" comme je l'ai écrit que je rencontre un problème d'insertion de ligne...

Je vais analyser votre fichier modifié. En fait mon besoin n'est pas très compliqué mais j'ai dû faire une usine à gaz, petit à petit, à partir de mes connaissances en formules.

Bien à vous,
Sylvain
 

Discussions similaires

Réponses
4
Affichages
286
Réponses
2
Affichages
852

Statistiques des forums

Discussions
312 207
Messages
2 086 250
Membres
103 165
dernier inscrit
thithithi78