• Initiateur de la discussion Initiateur de la discussion TheBuzz
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

T

TheBuzz

Guest
J'ai un tableau de données Excel représentant des dimensions (longueur-largeur) en centimètres et des montants en francs répartis comme tel :

Longueur 100cm 150cm 200cm 250cm
Largeur 120cm 858fr 889fr 922fr 955fr
150cm 896fr 936fr 976fr 1013fr
180cm 934fr 980fr 1032fr 1081fr
200cm 974fr 1029fr 1090fr 1148fr



Un exemple une longueur de 150cm par une largeur de 180cm donne le montant de 980fr. Cette table est donnée et est fixe et le résultat croisé est simple est visible.

Toutefois, je recherche le moyen de déterminer le montant adapté pour une longueur, par exemple, de 157cm et d'une largeur de 157cm.

Quel pourrait être le calcul à faire selon ces données du tableau existantes et immuables ?
 
Re : Données croisées

Re

verification faite il semble que la methode que j'utilise est eloignée de celle qui a été prise pour les chiffres d'origine d'ou une distorsion selon que l'on est pres ou loin des valeurs données
tester avec 150,01 en longueur
et je n'entrevois pas de solution simple pour sortir de la
 

Pièces jointes

Re : Données croisées

Cher Pierrejean,

Je vous remercie de votre réponse et qui se trouve est parfaitement correct si l'on modifie :

For n = 3 To 5 par For n = 3 To 6
et
For n = 2 To 4 par For n = 2 To 5

De plus, on rajoute la valeur de 0 pour la nouvelle colonne en longueur de 300
et
on rajoute la valeur 0 pour la nouvelle ligne en largeur de 250

Et tout fonctionne !

Merci infiniement

A+
 
Re : Données croisées

Bonsoir,

J'ai une seconde question :

Suite à la réception du fichier et aux contrôles effectués, qui fonctionnent en plus, merci encore Jeanpierre, comment pourrais-je ordonner une liste (automatique ou manuelle) qui remplirais automatiquement toutes les valeurs possibles, avec un incrément de 1, des longueurs et largeurs :

Exemple :

100 x 120 = 858
101 x 120 = calcul prix
102 x 120 = calcul prix
...
250 x 200 = 1148

Merci de votre réponse
 
Re : Données croisées

Bonsoir Pierrejean,

Mille excuses pour le pseudo, c'est une erreur !

Je vous remercie pour la rapidité du fichier. Cependant, j'ai les erreurs de calculs uniquement dans les dernières valeurs testées du tableau croisé.

Les résultats ne sont pas calculés correctement ?! Je ne peux vous dire pourquoi, alors que dans votre ancien fichier, tout fonctionnait à merveille avec la fonction Range.

Merci déjà de votre réponse
 
Re : Données croisées

Bonsoir le fil, PierreJean,

Comment dois-je prendre : (il doit rigoler celui-la !!!).

Sauf à une mauvaise lecture (diagonale ou en travers etc...) d'une réponse il y a quelques temps où je m'incriminais, et qu'il me semble que tu as pris pour toi........

J'espère là, que c'est pour plaisanter.... sinon j'en serai fortement attristé.

Bonne soirée à tous.

Jean-Pierre
 
Re : Données croisées

bonjour a tous

mais oui jeanpierre , il faut le prendre en plaisanterie 🙂🙂🙂🙂

@ TheBuzz

je l'avais constaté et cru le rectifier en modifiant les valeurs extremes
je regarde a nouveau

edit : vois si cela va mieux
 

Pièces jointes

Dernière édition:
Re : Données croisées

Cher Pierrejean,

Je vous remercie du fichier et, après modification de la macro comme suit, tout fonctionne :

Code:
Sub eval()
For coln = 3 To 203
For lig = 9 To 109
longu = Cells(8, coln)
larg = Cells(lig, 2)
For n = 3 To 7
 If Cells(1, n) <= longu And Cells(1, n + 1) >= longu Then
  col1 = n
  col2 = n + 1
 End If
Next n
For n = 2 To 6
 If Cells(n, 2) <= larg And Cells(n + 1, 2) >= larg Then
  lig1 = n
  lig2 = n + 1
 End If
Next n
sb = Cells(lig1, 2) * Cells(1, col1)
sh = Cells(lig2, 2) * Cells(1, col2)
sr = longu * larg
pr = Cells(lig1, col1) + ((Cells(lig2, col2) - Cells(lig1, col1)) * (sr - sb) / (sh - sb))
Cells(lig, coln) = pr
Next lig
Next coln
End Sub

Mille merci encore à vous !

2e question dans la foulée :

Avec le même tableau de données de base en largeur et longueur, quel serait le code pour calculer le montant supérieur si la variable minimale est dépassée, je m'explique :

120 en largeur x 100 en longueur = 858 (selon base)
120 en largeur x 150 en longueur = 889 (selon base)
mais
121 en largeur x 150 en longueur = 889
149 en largeur x 100 en longueur = 896

En fait, l'on doit obtenir directement la valeur supérieur si dépassement des valeurs clés du tableau.

Je me demande si je suis assez clair pour vous faciliter la tâche ?!

Merci encore de votre conseil
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

R
Réponses
3
Affichages
4 K
R
W
Réponses
6
Affichages
1 K
S
Réponses
2
Affichages
864
Stabilo
S
M
Réponses
4
Affichages
3 K
marion0912
M
N
Réponses
2
Affichages
13 K
N
R
Réponses
9
Affichages
2 K
R
D
Réponses
13
Affichages
2 K
S
Réponses
5
Affichages
1 K
Retour