double* multip(double* a, int n)
{
for (int i=0;i<n;i++)
a[i]=1;
return a;
}
et mon code vba est :
Private Declare Function multip Lib "C:\Documents and Settings\ut15q5\Desktop\prog\projet_test2\debug\projet_test5.dll" _
(ByRef a As Double, ByVal n As Long) As Double
Public Sub mult()
Dim vals() As Double
ReDim vals(4)
Dim i As Integer
For i = 0 To 3
vals(i) = Cells(9 + i, 10)
Next i
vals = multip(vals(0), 4)
End Sub
En gros, je veux choper un tableau de 4lignes/1colonne dans excel et le transformer en tableau de 1. Mais j'ai l'impression qu'il y a un problème avec les types (array, double*, etc...) et je ne m'en sors pas. Le message d'erreur est "compile error : can't assign to array"
Quelqu'un a-t-il une idée ?
loiclm86
Messages postés21Date d'inscriptiondimanche 5 avril 2009StatutMembreDernière intervention 3 février 2010 22 juil. 2009 à 11:22
en fait je précise :
quand je mets en déclaration API un type double() en retour, j'obtiens le message d'erreur "subscript out of range" et quand je mets double seulement, j'obtiens "can't assign to array".
Qué ????
Vous n’avez pas trouvé la réponse que vous recherchez ?
loiclm86
Messages postés21Date d'inscriptiondimanche 5 avril 2009StatutMembreDernière intervention 3 février 2010 22 juil. 2009 à 12:10
dans excel on a 4 nombres à la suite sur une colonne. Je prend ces données dans vba, je les traite en les passant à visual (disons on transforme (3,4,5,6) en (1,1,1,1) par exemple pour faire simple) et visual les refile à excel via la macro vba. J'affiche le tout avec msgbox.