Bonjour à tous,
Dans une de mes macros VBA, je souhaite faire une interpolation linéaire (mes séries sont en colonnes) quand la cellule de mon tableau est vide. Pour cela, j'utilise cette "triple" boucle :
For Each cellule In tableinit
If cellule = "" Then Do
'On sélectionne les cellules remplies situées au-dessus et en-desous de la cellule vide
cellulesup = cellule.End(xlUp)
celluleinf = cellule.End(xlDown)
'on fait une interpolation linéaire à condition que la case supérieure ne soit pas un en-tête. Dans ce cas, on le fixe à la valeur de la cellule inférieure (série constante sur la période).
If Not IsNumeric(cellulesup.Value) Then cellulesup.Value = celluleinf.Value
cellule.Value = (celluleinf.Value - cellulesup.Value) / (celluleinf.Row - cellulesup.Row) * (cellule.Row - cellulesup.Row) + cellulesup.Value
Loop
End If
Next cellule
Sauf qu'Excel m'indique :
Erreur de compilation : End If sans bloc If.
Quelqu'un aurait une idée du problème (j'ai déjà essayé de supprimer le End If, mais cela ne change rien).
Merci de votre aide