|
|
|
|
Salut,
J'essai d'utiliser des fonctions excel sous vba. Cependant, comme je ne connais pas le nombre de ligne (qui est définie par l'utilisateur), j'utilise donc une séquence du genre:
j = 4
LDeb = j
CDeb = 1
LFin = (j + N - 1)
CFin = 2
Cells(2, 5).FormulaLocal = "=PENTE(Cells(LDeb, CDeb), Cells(LFin, CFin))"
Cells(2, 6).FormulaLocal = "=ORDONNEE.ORIGINE(Cells(LDeb, CDeb), Cells(LFin, CFin))"
Cells(2, 7).FormulaLocal = "=COEFFICIENT.DETERMINATION(Cells(LDeb, CDeb), Cells(LFin, CFin))"
a = Cells(2, 5)
b = Cells(2, 6)
r² = Cells(2, 7)
Sauf que ça fonctionne pas. Quelqu'un pourrais m'aider svp?
Configuration: Windows Vista Firefox 2.0.0.13
Modification du code...
|
Tu ne peux pas utiliser des variables dans ton code entre guillemets.
|
Bonjour,
|
Donc en fait avec ça, il va dans un premier temps me chercher ma dernière ligne de ma colonne (que je ne connais pas donc) et ensuite il me prendra ma plage de donnée de la colonne dont je connais le début jusqu'à la fin.
|
Re :
Option Explicit
'
Sub CalculPentePourChaquePoint()
Dim Plage As Range, Cellule As Range, Balise As Long
Dim Plage1 As Range, Plage2 As Range, Resultat As Double
' Cherche la premiere cellule non-vide en partant de la fin vers le haut
Balise = Range("A65536").End(xlUp).Row
Set Plage = Range("A5:A" & Balise)
For Each Cellule In Plage
' L'option Offset permet un acces a toute la feuille
' MsgBox Cellule.Offset(0, 0).Value
Set Plage1 = Cellule.Offset(0, 2)
Set Plage2 = Cellule.Offset(0, 3)
Resultat = Application.WorksheetFunction.Slope(Plage1, Plage2)
If (Resultat > 0) Then
Cellule.Offset(0, 1).Value = Resultat
End If
Next Cellule
End Sub
'
attention, pas testé c'est un exemple type effectuant la fonction [ slope ] si vous désirez inscrire le formule [ Application.WorksheetFunction.Slope(Plage1, Plage2) ] dans une cellule, c'est une autre histoire. Lupin |
Répondre à Lupin.A
|