Bonjour à toutes et tous,

J'aimerais solliciter votre aide pour un script VBA, qui dans son concept est relativement simple et qui ne demande que peu de lignes de code, mais qui dans sa réalisation reste relativement complexe. Je me casse la tête dessus depuis des jours, et je ne parviens toujours pas à élaborer quelque-chose de convenable.

Voici l'idée :

J'ai un fichier comprenant deux colonnes, la première comportant des poids en KG et la seconde les prix relatifs.

0.5	       22.84
1	       25.03
1.5	       27.22
2	       29.42
2.5	       31.6
3	       33.81
3.5	       35.99
4	       38.17
4.5	       40.36
5	       42.55
5.5	       44.74
6	       46.95
6.5	       49.16
7	       51.31
Le but ici, est de créer sur base de ces deux colonnes deux autres colonnes reprenant les variations de prix.
Ces deux nouvelles colonnes créées seront utilisées par un autre programme permettant de trouver le prix adéquat pour un poids donné.

Le but est aussi d'avoir le moins de lignes possible, par exemple si la variation de prix est identique pour les poids allant de 1kg a 10kg, pas besoin de le répéter pour chacune des lignes.


0.5	10		0.1	10
1	11		0.6	1             Comme le poids ne varie plus jusqu'à 3.5KG, pas besoin de créer des lignes redondantes
1.5	12		3.6	4
2	13			
2.5	14			
3	15			
3.5	16			
4	20	
Autre exemple, plus complexe, les deux dernieres colonnes représentes le résultat désiré, sans lignes redondantes

0.5	22.84		0.1	22.84		0.1	22.84
1	25.03		0.6	2.19		0.6	2.19
1.5	27.22		1.1	2.19		1.1	2.19       [1]
2	29.42		1.6	2.2		1.6	2.2
2.5	31.6		2.1	2.18		2.1	2.18
3	33.81		2.6	2.21		2.6	2.21
3.5	35.99		3.1	2.18		3.1	2.18
4	38.17		3.6	2.18		3.6	2.18
4.5	40.36		4.1	2.19		4.1	2.19        [2]
5	42.55		4.6	2.19		5.6	2.21
5.5	44.74		5.1	2.19		6.1	2.21
6	46.95		5.6	2.21		6.6	2.15
6.5	49.16		6.1	2.21			
7	51.31		6.6	2.15			
[1]Dans ce cas-ci on doit répéter le 2.19 car si on saute cette ligne, on passe de 0.6KG a 1.6KG, ce qui fait un kilo tout rond et le programme va penser que le prix est au kilos et plus au demi kilo. Pour info le programme en question ne prend en consideration que les variation par kilo et par demi kilo. Ici la premiere valeur 0.1 -0.6 indique que la variation de prix est par demi kilo.

[2] Dans ce cas ci, pas besoin de répéter car la différence entre les deux poids ne fait pas 1KG.

Il faut également faire attention si la variation de poids passe de demi kilo a kilo ou inversément.

Exemple :
0.5	10		0.1	10
1	11		0.6	1
1.5	12		1.1	1
2	13		1.6	1
3	14		2.1	1
4	15		3.1	1
5	16		5.1	4
5.5	20		5.6	5
6	25			
Le principe est assez difficile a expliquer, mais j’espère avoir été plus ou moins clair...
Je suis sûr qu'il y a un façon facile de procéder mais je parviens pas à la trouver....

Merci pour votre aide,