Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA - PENTE et ORDONNEE.ORIGINE dans FormulaLocal

3 réponses
Avatar
twinley
Bonsoir à tous,


Je simplifie la récupération des coef d'une droite. Actuellement
j'extrais les chiffres de l'équation affichée dans le label du graphique.

Maintenant je veux les obtenir par

=PENTE(H9:H37;B9:B37)

et

=ORDONNEE.ORIGINE(H9:H37;B9:B37)

J'ai déjà les yconnus et les xconnus dans la sub suivante avec la ligne
Union.

Sub inserserieblanche()
' dessine la nouvelle serie6 blanche + la droite de reg
Union(fgra.Range(col & 12 & ":" & col & nbbar + 11), _
fgra.Range("B" & 12 & ":" & "B" & nbbar + 11)).Copy
cgraph1.SeriesCollection.Paste NewSeries:=True
Application.CutCopyMode = False
With cgraph1.SeriesCollection(6)
.ChartType = xlLineMarkers
.Border.ColorIndex = 2
.MarkerSize = 2
.Trendlines.Add.DisplayEquation = True
.Trendlines(1).Border.ColorIndex = 26
.Trendlines(1).Border.Weight = xlThin
End With
End Sub

Mais je n'arrive pas à reprendre les y et x connus dans les formules
pente et ordonnée.origine pour les placer par VBA.

Comment écrire ces deux formules ? :

fgra.range("D2").FormulaLocal = "=PENTE(fgra.Range(col & 12 & ":" & col
& nbbar + 11);fgra.Range("B" & 12 & ":" & "B" & nbbar + 11))"

ainsi que

fgra.range("E2").FormulaLocal = "=ORDONNEE.ORIGINE(fgra.Range(col & 12 &
":" & col & nbbar + 11);fgra.Range("B" & 12 & ":" & "B" & nbbar + 11))"


avec Set fgra = Workbooks("flux.xls").Sheets("Graph1")
et col = "H"
et nbbar = 75

Voilà 3 heures que je mélange tout ça et j'ai eu toutes les erreurs.

C'est pratique d'avoir ces formules dans des cellules de la feuille pour
vérifier. Plus tard, je ferai le calcul direct dans des var de VBA avec
Slope et Intercept, je pense.

Merci pour l'aide

--
à+twinley

3 réponses

Avatar
twinley
bonsouaire de bonsouaire

erreur 91 avec ce qui suit.
Ce qui est dans parampente : "H12:H86;B12:B86"

parampente = (col & 12 & ":" & col & nbbar + 11) & ";" & ("B" & 12 &
":" & "B" & nbbar + 11)
fgra.Range("D2").FormulaLocal = [=PENTE(parampente)]

alors qu'en regardant la formule posée à la main dans une cellule j'ai :

=PENTE(H12:H86;B12:B86)

Je n'y comprend rien...

à+twinley

Bonsoir à tous,


Je simplifie la récupération des coef d'une droite. Actuellement
j'extrais les chiffres de l'équation affichée dans le label du graphique.

Maintenant je veux les obtenir par

=PENTE(H9:H37;B9:B37)

et

=ORDONNEE.ORIGINE(H9:H37;B9:B37)

J'ai déjà les yconnus et les xconnus dans la sub suivante avec la ligne
Union.

Sub inserserieblanche()
' dessine la nouvelle serie6 blanche + la droite de reg
Union(fgra.Range(col & 12 & ":" & col & nbbar + 11), _
fgra.Range("B" & 12 & ":" & "B" & nbbar + 11)).Copy
cgraph1.SeriesCollection.Paste NewSeries:=True
Application.CutCopyMode = False
With cgraph1.SeriesCollection(6)
.ChartType = xlLineMarkers
.Border.ColorIndex = 2
.MarkerSize = 2
.Trendlines.Add.DisplayEquation = True
.Trendlines(1).Border.ColorIndex = 26
.Trendlines(1).Border.Weight = xlThin
End With
End Sub

Mais je n'arrive pas à reprendre les y et x connus dans les formules
pente et ordonnée.origine pour les placer par VBA.

Comment écrire ces deux formules ? :

fgra.range("D2").FormulaLocal = "=PENTE(fgra.Range(col & 12 & ":" & col
& nbbar + 11);fgra.Range("B" & 12 & ":" & "B" & nbbar + 11))"

ainsi que

fgra.range("E2").FormulaLocal = "=ORDONNEE.ORIGINE(fgra.Range(col & 12 &
":" & col & nbbar + 11);fgra.Range("B" & 12 & ":" & "B" & nbbar + 11))"


avec Set fgra = Workbooks("flux.xls").Sheets("Graph1")
et col = "H"
et nbbar = 75

Voilà 3 heures que je mélange tout ça et j'ai eu toutes les erreurs.

C'est pratique d'avoir ces formules dans des cellules de la feuille pour
vérifier. Plus tard, je ferai le calcul direct dans des var de VBA avec
Slope et Intercept, je pense.

Merci pour l'aide



Avatar
GD
Bonsour® Max ;o)))
erreur 91 avec ce qui suit.
Ce qui est dans parampente : "H12:H86;B12:B86"
parampente = (col & 12 & ":" & col & nbbar + 11) & ";" & ("B" & 12 &
":" & "B" & nbbar + 11)
fgra.Range("D2").FormulaLocal = [=PENTE(parampente)]
alors qu'en regardant la formule posée à la main dans une cellule
j'ai :
=PENTE(H12:H86;B12:B86)
Je n'y comprend rien...


simple petit probleme de transcription ;o)))
le evaluate n'est pas souhaité dans ce cas !!! [=PENTE(******)]
la différence est infime :
'---------col = "H"
'---------nbbar = 75
Range("D2").Select
parampente = (col & 12 & ":" & col & (nbbar + 11)) & ";" & ("B" & 12 &
":" & "B" &( nbbar + 11))
'-------- MsgBox parampente '-------ces commentaires m'ont servi
pour débugger ;o)))
' suppression des [ et ] remplacé par des " " et &
fgra.Range("D2").FormulaLocal = "=PENTE(" & parampente & ")"
ou encore

parampente = (col & 12 & ":" & col & (nbbar + 11)) & chr(34) & ("B" & 12 &
":" & "B" &( nbbar + 11))
fgra.[D2].formula="=SLOPE(& parampente & ")"

;o)))
@+




à+twinley

Bonsoir à tous,


Je simplifie la récupération des coef d'une droite. Actuellement
j'extrais les chiffres de l'équation affichée dans le label du
graphique.

Maintenant je veux les obtenir par

=PENTE(H9:H37;B9:B37)

et

=ORDONNEE.ORIGINE(H9:H37;B9:B37)

J'ai déjà les yconnus et les xconnus dans la sub suivante avec la
ligne Union.

Sub inserserieblanche()
' dessine la nouvelle serie6 blanche + la droite de reg
Union(fgra.Range(col & 12 & ":" & col & nbbar + 11), _
fgra.Range("B" & 12 & ":" & "B" & nbbar + 11)).Copy
cgraph1.SeriesCollection.Paste NewSeries:=True
Application.CutCopyMode = False
With cgraph1.SeriesCollection(6)
.ChartType = xlLineMarkers
.Border.ColorIndex = 2
.MarkerSize = 2
.Trendlines.Add.DisplayEquation = True
.Trendlines(1).Border.ColorIndex = 26
.Trendlines(1).Border.Weight = xlThin
End With
End Sub

Mais je n'arrive pas à reprendre les y et x connus dans les formules
pente et ordonnée.origine pour les placer par VBA.

Comment écrire ces deux formules ? :

fgra.range("D2").FormulaLocal = "=PENTE(fgra.Range(col & 12 & ":" &
col & nbbar + 11);fgra.Range("B" & 12 & ":" & "B" & nbbar + 11))"

ainsi que

fgra.range("E2").FormulaLocal = "=ORDONNEE.ORIGINE(fgra.Range(col &
12 & ":" & col & nbbar + 11);fgra.Range("B" & 12 & ":" & "B" & nbbar
+ 11))"


avec Set fgra = Workbooks("flux.xls").Sheets("Graph1")
et col = "H"
et nbbar = 75

Voilà 3 heures que je mélange tout ça et j'ai eu toutes les erreurs.

C'est pratique d'avoir ces formules dans des cellules de la feuille
pour vérifier. Plus tard, je ferai le calcul direct dans des var de
VBA avec Slope et Intercept, je pense.

Merci pour l'aide




Avatar
twinley
Choli, le coup du (" & parampente & ")
J'ai bien tourné autour. Je ne voyais pas comment enlever les "".

Mais mon coef a de y=ax+b est faux car ma colonne B contient des heures
sous la forme 10:11. Le machin doit attendre des références X sous
formes de suite de nombres entiers comme 1 2 3 4 etc. qui correspondent
au nombres de données. Là il doit convertir l'heure en 0.1245456 à la
façon d'une heure en format standart.

Ca passe pas tout à fait ce soir, mais tu m'as fait faire une avancée
majeure.

Merci beaucoup GD, je m'en sortais pas.

à+twinley

Bonsour® Max ;o)))

erreur 91 avec ce qui suit.
Ce qui est dans parampente : "H12:H86;B12:B86"
parampente = (col & 12 & ":" & col & nbbar + 11) & ";" & ("B" & 12 &
":" & "B" & nbbar + 11)
fgra.Range("D2").FormulaLocal = [=PENTE(parampente)]
alors qu'en regardant la formule posée à la main dans une cellule
j'ai :
=PENTE(H12:H86;B12:B86)
Je n'y comprend rien...



simple petit probleme de transcription ;o)))
le evaluate n'est pas souhaité dans ce cas !!! [=PENTE(******)]
la différence est infime :
'---------col = "H"
'---------nbbar = 75
Range("D2").Select
parampente = (col & 12 & ":" & col & (nbbar + 11)) & ";" & ("B" & 12 &
":" & "B" &( nbbar + 11))
'-------- MsgBox parampente '-------ces commentaires m'ont servi
pour débugger ;o)))
' suppression des [ et ] remplacé par des " " et &
fgra.Range("D2").FormulaLocal = "=PENTE(" & parampente & ")"
ou encore

parampente = (col & 12 & ":" & col & (nbbar + 11)) & chr(34) & ("B" & 12 &
":" & "B" &( nbbar + 11))
fgra.[D2].formula="=SLOPE(& parampente & ")"

;o)))
@+





à+twinley


Bonsoir à tous,


Je simplifie la récupération des coef d'une droite. Actuellement
j'extrais les chiffres de l'équation affichée dans le label du
graphique.

Maintenant je veux les obtenir par

=PENTE(H9:H37;B9:B37)

et

=ORDONNEE.ORIGINE(H9:H37;B9:B37)

J'ai déjà les yconnus et les xconnus dans la sub suivante avec la
ligne Union.

Sub inserserieblanche()
' dessine la nouvelle serie6 blanche + la droite de reg
Union(fgra.Range(col & 12 & ":" & col & nbbar + 11), _
fgra.Range("B" & 12 & ":" & "B" & nbbar + 11)).Copy
cgraph1.SeriesCollection.Paste NewSeries:=True
Application.CutCopyMode = False
With cgraph1.SeriesCollection(6)
.ChartType = xlLineMarkers
.Border.ColorIndex = 2
.MarkerSize = 2
.Trendlines.Add.DisplayEquation = True
.Trendlines(1).Border.ColorIndex = 26
.Trendlines(1).Border.Weight = xlThin
End With
End Sub

Mais je n'arrive pas à reprendre les y et x connus dans les formules
pente et ordonnée.origine pour les placer par VBA.

Comment écrire ces deux formules ? :

fgra.range("D2").FormulaLocal = "=PENTE(fgra.Range(col & 12 & ":" &
col & nbbar + 11);fgra.Range("B" & 12 & ":" & "B" & nbbar + 11))"

ainsi que

fgra.range("E2").FormulaLocal = "=ORDONNEE.ORIGINE(fgra.Range(col &
12 & ":" & col & nbbar + 11);fgra.Range("B" & 12 & ":" & "B" & nbbar
+ 11))"


avec Set fgra = Workbooks("flux.xls").Sheets("Graph1")
et col = "H"
et nbbar = 75

Voilà 3 heures que je mélange tout ça et j'ai eu toutes les erreurs.

C'est pratique d'avoir ces formules dans des cellules de la feuille
pour vérifier. Plus tard, je ferai le calcul direct dans des var de
VBA avec Slope et Intercept, je pense.

Merci pour l'aide