[VBA] pbm traduction formule VBA=>Excel
lnh2o
-
tonton_Phil Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
tonton_Phil Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un problème de traduction au passage de VVBA à Excel quand j'écris une formule : dans ma macro je veux mettre dans une cellule la formule correspondant au calcul des coefficients d'une régression quadratique. J'écris :
Range("D" & 28 + i).Formula = "=Index(Linest(F" & Ligne(i) & ":F" & Ligne(i + 1) - 1 & ",E" & Ligne(i) & ":E" & Ligne(i + 1) - 1 & "^{1.2},True,True),1,3)"
or, dans le classeur Excel, le "." de "^{1.2}" est transformé en virgule, et la fonction ne marche plus. merci de me dire comment je dois corriger mon code pour que ça marche !
j'ai un problème de traduction au passage de VVBA à Excel quand j'écris une formule : dans ma macro je veux mettre dans une cellule la formule correspondant au calcul des coefficients d'une régression quadratique. J'écris :
Range("D" & 28 + i).Formula = "=Index(Linest(F" & Ligne(i) & ":F" & Ligne(i + 1) - 1 & ",E" & Ligne(i) & ":E" & Ligne(i + 1) - 1 & "^{1.2},True,True),1,3)"
or, dans le classeur Excel, le "." de "^{1.2}" est transformé en virgule, et la fonction ne marche plus. merci de me dire comment je dois corriger mon code pour que ça marche !
A voir également:
- [VBA] pbm traduction formule VBA=>Excel
- Formule si et excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule somme excel colonne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
Bonjour lnh2o,
Vérifie, avec : Outils / Options... / International
que la case Séparateur de décimale contient bien le point.
Vérifie, avec : Outils / Options... / International
que la case Séparateur de décimale contient bien le point.
Bonjour,
Range("D" & 28 + i).Formula = "=Index(Linest(F" & Ligne(i) & ":F" & Ligne(i + 1) - 1 & ",E" & Ligne(i) & ":E" & Ligne(i + 1) - 1 & "^{1,2},True,True),1,3)"
remplacer le point par une virgule sous VBA et celui-ci sera converti en point sous Excel.
du moins c'est ce qui se passe chez moi sous XL2002 !
Lupin
Range("D" & 28 + i).Formula = "=Index(Linest(F" & Ligne(i) & ":F" & Ligne(i + 1) - 1 & ",E" & Ligne(i) & ":E" & Ligne(i + 1) - 1 & "^{1,2},True,True),1,3)"
remplacer le point par une virgule sous VBA et celui-ci sera converti en point sous Excel.
du moins c'est ce qui se passe chez moi sous XL2002 !
Lupin
une dernière solution avec ces problèmes de valeurs décimales et de formule est d'utiliser formulaLocal au lieu de formula. Dans ce cas les séparateurs de paramètres dans la formule sont des ";" et non plus des ","
Range("D" & 28 + i).FormulaLocal = "=Index(Linest(F" & Ligne(i) & ":F" & Ligne(i + 1) - 1 & ";E" & Ligne(i) & ":E" & Ligne(i + 1) - 1 & "^{1,2};True;True);1;3)"