Bonjour
jeanluc17 a écrit :
Voila, je ne pensais pas que c'était obligatoire
Ah ce n'est pas obligatoire mais fortement conseillé
Le problème c'est que tu veux diviser par 0 quand tu arrives à la fin de ton tableau
Je n'ai modifié que ta première macro
Sub titre()
For i = 1 To Range("A" & Rows.Count).End(xlUp).Row - 1
' Cells(i + 1, 8).Select ' Pas besoin de sélectionner
Cells(i + 1, 8) = (Cells(i + 2, 2) - Cells(i + 1, 2)) / Cells(i + 1, 2)
Next
End Sub
Comme cela si tu veux diviser par Cells(i + 1, 2) (colonne B de la ligne suivante) tu auras une valeur
Édit : Je ne comprends pas trop
Tu pars de la ligne 1 mais tu rajoutes 1 (ou exceptionnellement 2) à la ligne
Commence à la ligne 2 et arrêtes toi une ligne avant la fin
Tout ton code pourrait devenir ça
A tester
Sub titre()
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row - 1
Cells(i, 8) = (Cells(i + 1, 2) - Cells(i, 2)) / Cells(i, 2)
Next
End Sub
Sub SPI()
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row - 1
Cells(i, 8) = (Cells(i + 1, 2) - Cells(i, 2)) / Cells(i, 2)
Next
End Sub
Sub rdtanormaux()
For i = 2 To Range("A" & Rows.Count).End(xlUp).Row - 1
Cells(i, 10) = (Cells(i, 8) - Cells(i, 9))
Next
End Sub
Sub pppp()
Call titre
Call SPI
Call rdtanormaux
End Sub