Interpolation entre coordonnées

Bonjour,

Je poste cette question sur ce forum car je bloque et mon travail devient urgent à rendre.

Dans mon cas, j'ai un jeu de mesures en X Y Z pris environ tous les 2m. Afin de pouvoir effectuer des calculs, je dois interpoler toutes mes valeurs pour que j'obtienne les bons Y et Z tous les 2m exactement.

Le calcul de l'interpolation n'est pas mon problème (équation d'une droite en 2D).

Mon problème est de pouvoir, via un code VBA, sélectionner automatiquement le X inférieur le plus proche de 2m et supérieur le plus proche de 2m (je dois faire ça jusqu'à environ 300m). Ensuite, j'impose mes variables X1, X2, Y1 et Y2 correspondants aux valeurs trouvées afin de calculer le bon Y et le bon Z.

Voici le code que j'utilise :

Sub interpolation_PM2()

Dim a, i, j As Integer

Dim X1, X2, Y1, Y2 As Double

a = 41

For i = 6 To 176

For j = 5 To 175

If Sheets(1).Cells(a - 37, j) < Sheets(1).Cells(39, i) And Sheets(1).Cells(a - 37, i) > Sheets(1).Cells(39, i) Then

Sheets(1).Cells(a - 37, j) = X1

Sheets(1).Cells(a - 36, j) = Y1

Sheets(1).Cells(a - 37, j + 1) = X2

Sheets(1).Cells(a - 36, j + 1) = Y2

Sheets(1).Cells(a, i).Value = ((Y2 - Y1) / (X2 - X1)) * Sheets(1).Cells(39, i) + ((Y2 - ((Y2 - Y1) / (X2 - X1)) * X2))

End If

X1 = Empty

X2 = Empty

Y1 = Empty

Y2 = Empty

Next j

Next i

End Sub

La variable a = la ligne dans laquelle je dois insérer la nouvelle valeur

La variable i = la colonne dans laquelle je dois insérer la nouvelle valeur

La variable j = la plage de colonnes dans laquelle il faut chercher les X correspondants

Lorsque j'active la macro, le déboggeur me dit qu'il y a un problème dans mon if (en gras)... Je ne comprends pas vraiment pourquoi.

[EDIT] j'ai rajouté des s au cell. A présent, excel m'avertit d'un dépassement de capacité pour la ligne de la formule (en gras). Avez-vous une idée ?

Pour info, je travail en horizontal et non en colonnes.

Merci d'avance,

Simon

Bonjour,

Pour commencer Cell n'existe pas!...

Il faut utiliser Cells en lieu et place.

Cdlt.

Oui effectivement ! Erreur d'inattention... Et je ne suis pas une bête en vba non plus

J'ai édité mon post car un nouveau soucis set apparu.

Un grand merci pour cette réponse ultra rapide en tout cas !

Rechercher des sujets similaires à "interpolation entre coordonnees"