Hi Clement. I think you need one of the following expressions, based on whether the second value of y position is greater or smaller than the first. The linear() function needs the 2nd parameter to be smaller than the 3rd.
So if the position of your second keyframe is lower than the first, use this
dropMenu = effect("Dropdown Menu Control")("Menu");
myListe = [195.7, 258.2, -320.7];
myPlace = myListe[dropMenu - 1];
key1 = key(1).value[1];
key2 = key(2).value[1];
yVal = linear(value[1], key1, key2, key1, key2 + myPlace);
[value[0], yVal];
Otherwise, use this
dropMenu = effect("Dropdown Menu Control")("Menu");
myListe = [195.7, 258.2, -320.7];
myPlace = myListe[dropMenu - 1];
key1 = key(1).value[1];
key2 = key(2).value[1];
yVal = linear(value[1], key2, key1, key2 + myPlace, key1);
[value[0], yVal];
You need to modify these a little to fit your project.