Erreur 438

Bonsoir tout le monde

J'aimerais sa voir si quelqun connait la solution à cette fameuse erreur 438 "propriété ou méthodes non gérés par cette objet" ... alors que je demande uniquement de faire la difference entre deux colonnes dont les valeurs sont écrites sur excel ... je ne comprends pas d'où vient le soucis..

Je vous met ci joint le dossier ( si vous appuyer sur "lancer le portefeuille" sur la feuille usequities vous verrez que vba s’arrête "débogage" à cause de cette erreur ... ce serait très sympa que quelqun puisse m'éclairez

Merci à vous tous

Sab

Bonjour

Il faut rajouter un s à Cells

        diff(i - 2, 1) = Worksheets("SMC").Cells(i + 2, 96) - Worksheets("SMC").Cells(i + 2, 95)

Il n'y a pas que cette ligne

Ensuite tu as une erreur

somme_diff = (Worksheets("Calculs").Cells(i, j + 1) - (Worksheets("USequitites").Cells(j + 4, 8) + Worksheets("USequitites").Cells(j + 4, 9) * diff(i - 2, 1))) ^ 2 + somme_diff

Il faut USequities

Et il y a encore des erreurs

Bonjour et merci à toi banzai64....j'avais codé toute la journée et je me rends compte ce matin que ce sont finalement des erreurs un peu idiote ..... dis moi pendant que jy suis a tu des connaissances sur la fonction linest de vba?

Bonjour

Linest

WorksheetFunction.LinEst, méthode

Calcule les statistiques pour une droite à l'aide de la méthode des « moindres carrés » pour calculer une droite qui correspond mieux à vos données et renvoie une matrice qui décrit la droite. Comme cette fonction renvoie une matrice de valeurs, elle doit être entrée sous forme de formule matricielle

J'ai eu un mal de crane quand je suis arrivé à « moindres carrés »

Je ne sais pas de quoi ça parle et j'ai des palpitations rien que d'y penser

Si tu n'as pas de réponses plus sérieuses que la mienne, je te conseille de clore ce post et d'en ouvrir un autre avec cette question

lool merci banzai64 de tes efforts pour m'aider.. ce sont de gros mots pour finalement des idées pas du tout compliquées, j'ai construit un code efficace je le poste au cas où ça pourrait en aider certains... je précise que je fais une boucle car je fais plusieurs régressions à la chaine ..

' les regressions

Dim rendement As Range

For i = 1 To UBound(marqueur)

Set rendement = Worksheets("Calculs").Range(Worksheets("Calculs").Cells(3, 2), Worksheets("Calculs").Cells(3, 2).End(xlDown))

Set prime = Worksheets("Calculs").Range("AD3:AD111")

Worksheets("USequities").Cells(i + 4, 8) = Application.WorksheetFunction.LinEst(rendement.Offset(0, i), prime, True)(1)

Worksheets("USequities").Cells(i + 4, 9) = Application.WorksheetFunction.LinEst(rendement.Offset(0, i), prime, True)(2)

Next i

Au plaisir

Sab

Rechercher des sujets similaires à "erreur 438"