Calcul du coefficient directeur et de l'ordonnée à l'origine
Résolu
Morgan67700
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
Morgan67700 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Morgan67700 Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Bonjour le forum,
Me revoilà avec une nouvelle problématique, j'aimerai bien faire un code pour pouvoir calculer le coefficient directeur et l'ordonnée à l'origine d'une série de donnée avec la taille de la plage qui est variable. J'ai trouvé la fonction "droitereg" et "ordonnée.origine" sur excel mais pour le faire passer par le VBA je ne trouve pas de solution. J'ai aussi essayé avec Linest et Index mais sans succès. Est-ce quelqu'un a déjà utilisé des fonctions de ce genre?
Je met mon fichier en pj sur Ci-joint: http://www.cjoint.com/c/EFqhtoE1iZL
Merci
Morgan67700
Me revoilà avec une nouvelle problématique, j'aimerai bien faire un code pour pouvoir calculer le coefficient directeur et l'ordonnée à l'origine d'une série de donnée avec la taille de la plage qui est variable. J'ai trouvé la fonction "droitereg" et "ordonnée.origine" sur excel mais pour le faire passer par le VBA je ne trouve pas de solution. J'ai aussi essayé avec Linest et Index mais sans succès. Est-ce quelqu'un a déjà utilisé des fonctions de ce genre?
Je met mon fichier en pj sur Ci-joint: http://www.cjoint.com/c/EFqhtoE1iZL
Merci
Morgan67700
A voir également:
- Coefficient directeur excel
- Moyenne avec coefficient excel - Guide
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour
Pour faire ça, tu n'as pas forcément besoin de passer par vba
Un petit exemple
http://www.cjoint.com/c/EFqnAHzs5zg
Sinon, peut être ici
https://www.developpez.net/forums/d818116/logiciels/microsoft-office/excel/macros-vba-excel/macro-droitereg-boucle/
Cdlmnt
Pour faire ça, tu n'as pas forcément besoin de passer par vba
Un petit exemple
http://www.cjoint.com/c/EFqnAHzs5zg
Sinon, peut être ici
https://www.developpez.net/forums/d818116/logiciels/microsoft-office/excel/macros-vba-excel/macro-droitereg-boucle/
Cdlmnt
Bonjour,
Merci d'avoir répondu, j'ai trouvé la solution qui me convenait le mieux et j'ai trouvé en faisant un peu plus attention à la syntaxe VBA française/anglaise, il fallait mettre des virgules "," et non des points virgules ";" dans la plage des fonctions. Ensuite avec l'enregistreur de macro j'ai réussi à avoir la fonction en anglais: DROITEREG donne LINEST et ORDONNEE.ORIGINE donne INTERCEPT.
Ce qui nous fait donc ce code là avec la plage variable:
Bien sûr ne pas oublier de mettre les données dans l'ordre, ici j'ai mis un code pour mettre les données d'abscisse x dans l'ordre croissant sinon le calcul du coefficient directeur est faussé.
Merci quand même.
Morgan67700
Merci d'avoir répondu, j'ai trouvé la solution qui me convenait le mieux et j'ai trouvé en faisant un peu plus attention à la syntaxe VBA française/anglaise, il fallait mettre des virgules "," et non des points virgules ";" dans la plage des fonctions. Ensuite avec l'enregistreur de macro j'ai réussi à avoir la fonction en anglais: DROITEREG donne LINEST et ORDONNEE.ORIGINE donne INTERCEPT.
Ce qui nous fait donc ce code là avec la plage variable:
Sub Calcul () Application.ScreenUpdating = False Dim Col1 As Integer ' Première colonne de la plage pour rechercher les COEFFS A ET B de Ax+B Dim Col2 As Integer ' Dernière colonne de la plage Dim a As Integer ' Ligne de l'ordonnée y Dim b As Integer ' Ligne de l'abscisse x Col1 = Sheets(1).Range("A1").Column ' Première colonne de données Col2 = Sheets(1).Range("A1").End(xlToRight).Column ' Cherche la dernière colonne où il y a une données a = Sheets(1).Range("A1").Row ' Ligne de l'ordonnée y b = Sheets(1).Range("A2").Row ' Ligne de l'abscisse x Sheets(1).Range("A4").FormulaArray = "=LINEST(" & Cells(a, Col1).Address & ":" & Cells(a, Col2).Address & "," & Cells(b, Col1).Address & ":" & Cells(b, Col2).Address & ")" Sheets(1).Range("A5").FormulaArray = "=INTERCEPT(" & Cells(a, Col1).Address & ":" & Cells(a, Col2).Address & "," & Cells(b, Col1).Address & ":" & Cells(b, Col2).Address & ")" Application.ScreenUpdating = True End sub
Bien sûr ne pas oublier de mettre les données dans l'ordre, ici j'ai mis un code pour mettre les données d'abscisse x dans l'ordre croissant sinon le calcul du coefficient directeur est faussé.
Merci quand même.
Morgan67700