[VBA] comparé 1 cell à plusieurs ds un tablea

Fermé
dr_fatch - 24 avril 2008 à 21:51
 dr_fatch - 25 avril 2008 à 11:24
Bonjour à tous,

Je viens vous demander de l'aide dans un programme vba ...

voici mon problème, soit un tableau du style :

date valeur_object valeur_réelle
1/12 100 90
1/12 140 90
1/12 95 90
1/12 80 90
2/12 200 100
2/12 100 100
3/12
...

Comme vous pouvez le voir, il y a plusieur cotation de l'objet dans la journée, le prix change.
Ce que je veux faire c'est:
- pour une même date, avoir un prix. pour avoir ce prix, soit j'ai de la chance et il correspond à la valeur réelle, soit j'ai pas de chance et c'est ce qui va arriver, la valeur de l'objet est différente de la valeur réelle. Pour ce faire, je dois prendre les 2 valeurs les plus proche de 90 (+/-) et faire une interpolation linéaire . En l'occure
==> (80+95)/2
Je dois donc :
1) sélectionner l'ensemble des lignes qui ont la même date
2) trouver les les valeur object qui sont les plus proche de 90
3) faire l'interpolation.

Mon problème étant de "sélectionner le tableau avec la même valeur, et comparer les valeurs objects à la valeur réelle pour pouvoir faire l'interpolation".
En effet, je n'arrive qu'à comparer ligne par ligne.. Je ne sais pas demander à vba de sélectionner un tableau et de comparer les celleule à une valeur.

voici une partie du rog :
Dim val_interpolsup As Integer
Dim val_interpolinf As Integer
Dim val_interpol As Integer

For i = 2 To 50

val_interpolsup = Application.WorksheetFunction.Max(Range("I" & i) < 90)
val_interpolinf = Application.WorksheetFunction.Min(Range("I" & i) > 90)
val_interpol = (val_interpolinf + val_interpolsup) / 2


si quelqu'un peut m'aider.. s'il vous plait, je bloque depuis je ne sais compbien de temps.

merciiii beaucoup
A voir également:

4 réponses

svp personne??
sniff ...
0
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
25 avril 2008 à 10:40
Bonjour,

pour moi il suffit de stocker tes valeurs valeurs relles, valmin, valmax dans un tableau avec pour index la date ou en tout cas un indice correspondant à la date.

Mais j'avoue avec du mal à situer ton probleme : algo ou programmation?
0
Salut, en tout cas merci 'avoir répondu.

tu me conseil de faire un tri avec les date, max/mix. Mais le problème c'est que je veux faire un max,min par rapport à une valeur (valeur autour de 90).
Et je t'avoue que prog/algo, je ne connais pas la dif..
0
zavenger Messages postés 811 Date d'inscription vendredi 29 février 2008 Statut Membre Dernière intervention 20 avril 2012 161
25 avril 2008 à 11:21
Non je me suis peut etre mal exprimé. Tu fais deja une boucle (j'ai cru voir de 2 a 50) pour balayer ta feuille. Il faut certainement faire comme cela, mais stocker les valeurs que tu trouves interessantes dans une variable de type tableau.

Je n'ai evidement pas la solution à ton probleme specifique, car je n'ai pas toutes les données du PB, de plus je ne pense pas que cela soit l'objectif du forum.

Pour repondre à ta question, l'algorithmique c'est une representation "theorique/basique" des operations que tu va faire dans ton programme pour atteindre ton objectif.

La programmatin c'est la traduction de ton algorithme dans un langage specifique (en l'occurance VBA Excel).

Sur le forum ,tu vas trouver de l'aide pour la programmation. Pour l'algo, c'est deja beaucoup plus difficile par messages interposés
0
merci beaucoup, je regarde comment stocker dans un tableau mes valeur. La je fais du
dim montableau(1to n, 1 to M) ...

'variable de matrice multidimensionelles.

On va voir ce que ça donne.

Merci en tout, je te dirais si ça a marché !

et je vais aussi jeter un coup d'oeil pour l'algo
0