XL 2016 Tableau croisé dynamique, régression linéaire/polynomiale

BARNS

XLDnaute Junior
Bonjour tout le monde,

Je suis en train de travailler sur un fichier et ne connaissant pas toute les fonctionnalités des tableau croisé dynamique je ne sais pas si ce que je souhaite faire est possible.

Donc j'ai les abaques / données de canons hydrauliques (j'en ai mis que deux sur le fichier pour que ce soit plus simple) dont je souhaite pouvoir extraire une lecture rapide par choix successif et entrée de valeur.

Je souhaite donc pouvoir choisir
1) mon canon
2) la buse

Puis je souhaite pouvoir entrée la pression exact que j'ai pour obtenir une valeur de portée et de débit.

Il faudrait que par les choix (canon, buse) fait je puisse isoler une partie du tableau pour aisément faire une régression polynomiale ou linéaire afin d'obtenir une portée et un débit.

Est ce que tout ceci est possible? Quelques pistes?

Merci pour tout,
 

Pièces jointes

  • canon1.xlsx
    19.5 KB · Affichages: 23

BARNS

XLDnaute Junior
Bonjour Sylvanu,

C'est vrai que ca fait beaucoup moins mal aux yeux sans les #valeurs et les MFC améliorent la lisibilité.

Pour SKIPPER, buses 10, pression 2, sans surpresseur, je devrais avoir un débit de 7.2 alors que nous obtenons Press add (bar) P>Pmax et P<Pmin.

Du coup j'ai rajouté la condition
If .Cells(L, 1) = Canon And .Cells(L, 2) = Buse And .Cells(L, 3) = pression Then Portée = Cells(L, 4)

Pour éviter le problème à L 2 comme il n'y a pas de cellule avant.

Mais... ca ne marche pas.

Pour SKIPPER, buses 10, pression 1, 3CV : je devrais avoir "débit trop faible" alors que nous obtenons P<Pmin

Pour aider je transmets l'ancienne version qui est vraiment bricolée mais qui marche plutôt bien, normalement nous devons obtenir les mêmes choses.

Je vais essayer quand même de résoudre les problèmes de mon côté.

Encore merci de m'aider, je crois que ca me prendrais une année entière à terminer ce projet tout seul!
 

Pièces jointes

  • Ancienneversion.xlsm
    61.2 KB · Affichages: 4
  • canonvba3.xlsm
    57.9 KB · Affichages: 5
Dernière édition:

BARNS

XLDnaute Junior
L'abaque donne le fonctionnement du canon pour une pression et une buse donnée.

Effectivement sans surpresseur si la pression est de 1, P=Pini<Pmin

Mais si un surpresseur est ajouté alors nous avons P=Pini+Padd soit P= 1 + Padd

Avec un surpresseur de 3CV, un skipper, une pression initiale de 1 et une buse de 10, le fonctionnement du système sera limité par le surpresseur qui ne suportera pas un débit Q, inférieur a 10.8 m³/h .

Le débit, déterminé par la taille de buse peut être augmenté avec une buse de 12mm nous obtenons alors :

avec Skipper, BUSE : 12mm, Pini = 1 bars, Surpresseur 3CV --> Padd=2.78
donc P= Pini +Padd= 1+2.78=3.78 et P>Pmin

J'espère que c'est clair...
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Alors je suis largué.
Exemple, Skipper, BUSE : 12mm Abaque Pmin=2 Pmax=5. Et j'ai P_entrée = 2.5
Donc sur P_entrée je cherche P<P_entrée et P>P_entrée et de là je fais une extrapolation linéaire.
Jusque là tout va bien.

Maintenant j'ai idem avec P_entrée =1. Comment puis je extrapoler puisque je suis hors specs ?
Je vais juste trouver le point P<P_entrée.
1.jpg

Comment je calcule la courbe rouge ? Sur quelles données ? Puisque je ne dispose que d'un point.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Un essai en PJ.
Pour recalculer quand on est hors specs pression, j'extrapole la courbe avec les mêmes coef que le premier ou le dernier segment.
1.jpg

Le problème est que si on met P=0 le système trouve une valeur.
Je ne comprends pas comment m'en sortir.
A vérifier.
 

Pièces jointes

  • canonvba5.xlsm
    62.5 KB · Affichages: 4

BARNS

XLDnaute Junior
Okay j'ai compris le problème. Je ne l'avais pas vu comme cela. Je pensais que c'était un problème de code plus que de méthode.

Selon les équations et les plages de débit que tolère les surpresseurs
Au minimum je pourrais avoir
_pour 3 CV : Padd(28.8)=1.44 bars
_pour 4 CV : Padd(61.2)=0.74 bars
_pour 5.5CV : Padd(36)=2.38 bars

J'avais pensé à utiliser la pression additionnelle minimale pour chaque surpresseur mais ca complique le code inutilement.

Ca serait peut être plus simple de forcer le calcul en prenant pour Pini<Pmin, portée1 = portée min abaque et portée 2 = 0, débit1 = débit min et débit 2 = 0

Et puis après la quinzième itération comparer toute les valeurs avec les règles données pour :
le canon : une pression min et max
le surpresseur : un débit min et max
?
 

BARNS

XLDnaute Junior
Bonjour Sylvanu,

J'ai l'impression que tout fonctionne correctement, c'est merveilleux! J'ai juste le message d'erreur de débit qui s'affiche deux fois mais du coup rien de grave.

Après quand on change de canon avant de changer la buse on obtient des plages de pressions qui n'ont pas lieu d'être vu que nous avons pas encore sélectionné les buses, je me demandais si à ce moment précis c'était possible d'avoir (Choisir buse correspondante) ou alors enlevé la valeur de la buse dans la liste déroulante?

Je me disais peut être que en cherchant la buse dans le tableau canon si le programme ne trouve pas il ordonne l'apparition du message (choisir buse correspondante) mais il y aura forcément des tailles de buses qui se retrouveraient dans plusieurs canon du coup peut être que si l'utilisateur modifie la case canon alors avant de modifier la buse le message apparaît.

Avoir une vu sur les plages de fonctionnement des suppresseur serait génial aussi j'ai essayé de m'inspirer de ce que vous avez fait et ça ne marche pas je ne sais pas pourquoi. Et ça fonctionne encore moins quand j'essaye de mettre "m³/h" ou "bars" dans votre code.

Dans l'idéal j'aurais voulu avoir les abaques sur une autre feuille mais je crois que les boutons épurer et détails font l'affaire malgré que le tableau se répète deux fois.

Je vous envoie le fichier si vous voulez jeter un œil sinon un grand merci pour votre aide! Seul, je n'aurais pas été capable.

PB
 

Pièces jointes

  • canonvba5temp.xlsm
    66.1 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Barns,
J'ai rajouté une alerte si le couple Canon/Buse n'existe pas dans la database.
( j'ai aussi modifié AffPminPmax si le couple n'existe pas )
Avoir une vu sur les plages de fonctionnement des suppresseur
Comment calcule t-on la plage de fonctionnement d'un surpresseur ?
A t-il une plage minimum de débit/pression en entrée pour être opérationnel ?
 

Pièces jointes

  • canonvba5temp.xlsm
    66.7 KB · Affichages: 4

BARNS

XLDnaute Junior
Je voulais le faire en VBA puisque je souhaite progresser dans cette voie. D'ailleurs auriez vous des formations ou des méthodes à conseiller ?

Sinon, je pense que le fichier peut être considéré comme terminé même si on sait que nous pouvons faire des modif à l'infinie...

Donc merci pour tout!
 

BARNS

XLDnaute Junior
Bonjour

J'aimerais faire une simple modif sur ce fichier : regrouper les donnés sur une seule feuille.

J'ai modifié le code pour qu'a chaque fois le programme aille chercher les informations sur la feuille "tableau" mais quand je supprime le tableau de la feuille PIVOT les calculs débit abaques, portées etc ne fonctionnent plus.

C'est le cas pour la feuille RAMPE ou le tableau a été supprimé et donc aucun résultat ne s'affiche alors que j'utilise des fonctions (cf : fonction débit, surpression etc) qui vont chercher les données dans la feuille "tableau" je ne comprends pas...

Je n'ai pas créé de nouvelle discussion puisque il s'agit du même fichier.

Merci pour votre aide,

Bonne journée
 

Pièces jointes

  • Configurateur CANON_20210427.xlsm
    173.1 KB · Affichages: 3

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Barns,
Avez vous rajouté des feuilles ou modifier des feuilles ?
Les fonctions appelaient des valeurs de la même feuille que là où elles sont.
J'ai rectifié pour que toutes les valeurs émanent de la même feuille tableau.
Est ce que cela résout votre souci ?
Sinon je ne vois pas d'où peut venir le problème.
 

Pièces jointes

  • Configurateur CANON_20210427.xlsm
    175.9 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
314 495
Messages
2 110 221
Membres
110 706
dernier inscrit
debby.f1