Forum Clubic

Programmation vba

Bonjour,
J’ai un petit problème sur une manipulation en vba : je dois créer une formule sous un classeur excel ( V(h) = 0.321*(h-350)2 ; h faisant référence aux valeurs d’un tableau d’un autre classeur). Je dois ensuite utiliser cette formule pour calculer V(h) sous vba. Mais je n’y arrive pas. Quelqu’un aurait il une solution ?

Salut.

Tu mélanges les termes de “formule” (qui a lieu du coté “feuille” de Excel) et de “VBA” qui se déroule derrière.

Pour utiliser le contenu du workbook2 (classeur) dans une cellule du workbook1, il faut faire qqch comme ceci :


'remplacer par les noms de workbook et worksheet appropriés
=[Book2]Sheet1!$A$1

Donc si tu veux intégrer la chose directement au sein d’une formule, il faudra faire


'remplacer par les noms de workbook et worksheet appropriés
'j'ai aussi enlevé le "2" final, ne sachant pas si c'est sensé être un exposant ou une faute de frappe
= 0.321*([Book2]Sheet1!$A$1-350)

Si tu veux récupérer les données depuis VBA, ce sera qqch dans ce goût là :


Sub main()

  Dim h
  Dim V_de_h
  
  'on récupère la valeur
  h = Workbooks("Book2").Worksheets("Sheet1").Range("A1").Value
  
  'et on applique la formule
  V_de_h = 0.321 * (h - 350)

End Sub


Edité le 17/10/2013 à 17:44

D’accord, merci beaucoup ! Je vais essayer