Liste fonction
I folima Elda
Messages postés
35
Statut
Membre
-
amigo -
amigo -
Bonjour,
Voilà, j'ai utilisé le code suivant afin de connaître les nom de fonction excel en anglais pour les insérer dans VBA
Bon ceci fonctionne (en tout cas il me donne un résultat ;)). Donc j'ai fait ça pour 3 fonctions particulière:
pente => .SLOPE (plage)
ordonné à l'origine => . INTERCEPT(plage)
coefficient de détermination => .RSQ(plage)
Sauf que lorsque je lance mon programme, il me dit ceci:
"Erreur de compilation. Argument non facultatif" et il me surligne mon SLOPE ect...
Donc je voulais savoir si vous pouviez m'aider à modifier mon code pour pouvoir calculer les résultats correspondant ou me donner une autre liste de traduction de code:
mon code:
Merci de votre aide
Voilà, j'ai utilisé le code suivant afin de connaître les nom de fonction excel en anglais pour les insérer dans VBA
Sub formula()
Worksheets("fonction").Range("A1").formula = a
MsgBox (a)
End Sub
Bon ceci fonctionne (en tout cas il me donne un résultat ;)). Donc j'ai fait ça pour 3 fonctions particulière:
pente => .SLOPE (plage)
ordonné à l'origine => . INTERCEPT(plage)
coefficient de détermination => .RSQ(plage)
Sauf que lorsque je lance mon programme, il me dit ceci:
"Erreur de compilation. Argument non facultatif" et il me surligne mon SLOPE ect...
Donc je voulais savoir si vous pouviez m'aider à modifier mon code pour pouvoir calculer les résultats correspondant ou me donner une autre liste de traduction de code:
mon code:
Sub pente()
j = 4
LDeb = j
CDeb = 1
LFin = (j + N - 1)
CFin = 1
Set Range1 = Range(Cells(LDeb, CDeb + 1), Cells(LFin, CFin + 1))
Set Range2 = Range(Cells(LDeb, CDeb), Cells(LFin, CFin))
Set bigrange = Application.Union(Range("Range1"), Range("Range2"))
a = Application.WorksheetFunction.Slope(Range("bigrange"))
b = Application.WorksheetFunction.Intercept(Range("bigrange"))
r = Application.WorksheetFunction.RSq(Range("bigrange"))
MsgBox (a)
MsgBox (b)
MsgBox (r)
End Sub
Merci de votre aide
A voir également:
- Liste fonction
- Liste déroulante excel - Guide
- Fonction si et - Guide
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Site dangereux liste - Guide
9 réponses
Bonjour,
Syntaxe : PENTE(y_connus,x_connus)
y_connus représente une matrice ou une plage de cellules de points de données dépendantes.
x_connus représente l'ensemble de points de données indépendantes.
je ne fais que recopier l'aide sans rien comprendre à cette fonction, sauf qu'elle admet 2 arguments obligatoires.
il faudrait quelquechose comme ça :
a = Application.WorksheetFunction.Slope(bigrange1,bigrange2)
A+
Syntaxe : PENTE(y_connus,x_connus)
y_connus représente une matrice ou une plage de cellules de points de données dépendantes.
x_connus représente l'ensemble de points de données indépendantes.
je ne fais que recopier l'aide sans rien comprendre à cette fonction, sauf qu'elle admet 2 arguments obligatoires.
il faudrait quelquechose comme ça :
a = Application.WorksheetFunction.Slope(bigrange1,bigrange2)
A+
Je le sais bien, c'est pour ça que j'ai mis une fonction union qui me permet de réunir les 2 plages. Enfin en cas de doute j'ai fait ceci
Mais là toujouirs le même problème
j = 4
LDeb = j
CDeb = 1
LFin = (j + N - 1)
CFin = 1
Set Range1 = Range(Cells(LDeb, CDeb + 1), Cells(LFin, CFin + 1))
Set Range2 = Range(Cells(LDeb, CDeb), Cells(LFin, CFin))
'Set bigrange = Application.Union(Range("Range1"), Range("Range2"))
a = Application.WorksheetFunction.Slope(Range("Range1", "Range2"))
b = Application.WorksheetFunction.Intercept(Range("Range1", "Range2"))
r = Application.WorksheetFunction.RSq(Range("Range1", "Range2"))
MsgBox (a)
MsgBox (b)
MsgBox (r)
Mais là toujouirs le même problème
Bonjour,
Je pense que la syntaxe est plutôt celle-ci:
a = Application.WorksheetFunction.Slope(Range1 , Range2)
b = Application.WorksheetFunction.Intercept(Range1 , Range2)
r = Application.WorksheetFunction.RSq(Range1 , Range2)
A+.
Je pense que la syntaxe est plutôt celle-ci:
a = Application.WorksheetFunction.Slope(Range1 , Range2)
b = Application.WorksheetFunction.Intercept(Range1 , Range2)
r = Application.WorksheetFunction.RSq(Range1 , Range2)
A+.
Amigo, ton truc est pas mal déjà car maintenant il me dit:
"Impossible de lire la propriété Sope de la classe WorksheetFunction"
Il y a déjà de l'amélioration ^^
Je vais finir pas désespèrer car pour mon programme il ne me reste que ça à faire.
"Impossible de lire la propriété Sope de la classe WorksheetFunction"
Il y a déjà de l'amélioration ^^
Je vais finir pas désespèrer car pour mon programme il ne me reste que ça à faire.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ces sont tes objets Range qui ne sont pas bien définis
Exemple d'utilisation
B6=5 ; C6=7
B7=9 ; C7=3
Private Sub CommandButton1_Click()
Dim myRange1 As Range, myRange2 As Range
Dim answer As Double
'Set myRange1 = Worksheets("feuil1").Range("B6:B7")
'Set myRange2 = Worksheets("feuil1").Range("C6:C7")
'Set myRange1 = Range("B6:B7")
'Set myRange2 = Range("C6:C7")
Set myRange1 = Range(Cells(6, 2), Cells(7, 2))
Set myRange2 = Range(Cells(6, 3), Cells(7, 3))
answer = Application.WorksheetFunction.Slope(myRange1, myRange2)
MsgBox answer
End Sub
Toutes les syntaxes sont correctes
le resultat ets -1
A+.
Exemple d'utilisation
B6=5 ; C6=7
B7=9 ; C7=3
Private Sub CommandButton1_Click()
Dim myRange1 As Range, myRange2 As Range
Dim answer As Double
'Set myRange1 = Worksheets("feuil1").Range("B6:B7")
'Set myRange2 = Worksheets("feuil1").Range("C6:C7")
'Set myRange1 = Range("B6:B7")
'Set myRange2 = Range("C6:C7")
Set myRange1 = Range(Cells(6, 2), Cells(7, 2))
Set myRange2 = Range(Cells(6, 3), Cells(7, 3))
answer = Application.WorksheetFunction.Slope(myRange1, myRange2)
MsgBox answer
End Sub
Toutes les syntaxes sont correctes
le resultat ets -1
A+.
Moi e que je voudrais au tru c'est mettre une variable. Car dans mon programme, je ne connais que la ligne de départ. La taille du tableau après m'est indéterminé. 'est pour cette raison qu'au début il y a j et N (ref mon premier post).
On peut faire une variable avec ton procédé amigo???
On peut faire une variable avec ton procédé amigo???
Oui, on peut mettre des variables.
Ce que je voulais dire, c'est que les plages (range) passées à la fonction doivent pointer sur des valeurs valides.
Essaie de mettre la formule dans une cellule de ton tableau, avec les plages définies dans ta macro, s'il y a une erreur c'est que ces plages ne sont pas valides pour la fonction Slope.
Pour vérifier:
En A1 met =Pente("... : ...", "... : ...") (les petits points sont les plages que tu voudrais passer à la fonction)
et observe le resultat.
A+.
Ce que je voulais dire, c'est que les plages (range) passées à la fonction doivent pointer sur des valeurs valides.
Essaie de mettre la formule dans une cellule de ton tableau, avec les plages définies dans ta macro, s'il y a une erreur c'est que ces plages ne sont pas valides pour la fonction Slope.
Pour vérifier:
En A1 met =Pente("... : ...", "... : ...") (les petits points sont les plages que tu voudrais passer à la fonction)
et observe le resultat.
A+.
Amigo, je viens de testé ce code. Donc j'ai repris ton idée d'utiliser les cellules qui était bonne. Sauf que j'ai toujours la même erreur à propos du Slope. J'i repris à fond ton code et je l'ai légèrement modifié.
J'ai supposé que tes truc qui y avait après les apostrophe ne son pas pris en compte et qu'il était juste là pour t'aider. J'ai essyé ton code de départ, il fonctionne. Mais là je vois plus omment faire T_T
Sub pente()
Dim myRange1 As Range, myRange2 As Range
Dim answer As Double
'Set myRange1 = Worksheets("feuil1").Range("B6:B7")
'Set myRange2 = Worksheets("feuil1").Range("C6:C7")
'Set myRange1 = Range("B6:B7")
'Set myRange2 = Range("C6:C7")
j = 4
fin = N + j - 1
Set myRange1 = Range(Cells(j, 2), Cells(fin, 2))
Set myRange2 = Range(Cells(j, 1), Cells(fin, 1))
answer = Application.WorksheetFunction.Slope(myRange1, myRange2)
MsgBox answer
End Sub
J'ai supposé que tes truc qui y avait après les apostrophe ne son pas pris en compte et qu'il était juste là pour t'aider. J'ai essyé ton code de départ, il fonctionne. Mais là je vois plus omment faire T_T
Bonjour,
Est ce que je peux voir ton tableau, si ce n'est pas trop indiscret. Enleve les informations personnelles et met ton fichier sur http://www.cijoint.fr/
Tu peux juste copier la feuille dans un fichier vierge, ça suffira.
N'oublie pas le recopier le lien qui t'est donné et poste le ici. Sans avoir le tableau sous les yeux je ne pourrais pas t'en dire plus.
A+.
Est ce que je peux voir ton tableau, si ce n'est pas trop indiscret. Enleve les informations personnelles et met ton fichier sur http://www.cijoint.fr/
Tu peux juste copier la feuille dans un fichier vierge, ça suffira.
N'oublie pas le recopier le lien qui t'est donné et poste le ici. Sans avoir le tableau sous les yeux je ne pourrais pas t'en dire plus.
A+.