Incompatibilité de type : tableau ou type

Bonjour à tous,

J'ai un soucis dans un programme que j'ai réalisé, qui fait appel à des sous fonctions. Ce sont des fonctions qui utilisent des tableaux créés dans le programme principal. Cependant j'ai une erreur qui s'affiche que je ne comprends "incompatibilité de type : tableau ou type défini par l'utilisateur attendu" au niveau de mon programme principal sur l'appel de la fonction concentration.

Sub CalculRimp()

'création de mes 2 tableaux
Dim max As Double
Dim tabt(10000), tabq(10000) As Double
Dim w As Integer
max = Workbooks("Outil.xls").Sheets("1").Cells(12, 8).Value
    For w = 9 To max
        tabt(w) = Workbooks("Outilxls").Sheets("1").Cells(w, 3)
        tabq(w) = Workbooks("Outil.xls").Sheets("1").Cells(w, 4)
    Next w

dim n, i as Integer
n=1000
       for i=1 to n
       c_courant = concentration(tabt(), tabq())
       next i
End Sub

Public Function concentration(ByRef tab1() As Double, ByRef tab2() As Double) As Double
max = Workbooks("Outil.xls").Sheets("1").Cells(12, 8).Value
dim Cq as double
dim tot as double
tot=0
dim q as integer
        for q=1 to max
       Cq=tab1(q)*tab2(q)
       tot=tot+Cq
       next q
concentration=tot
End Function

 

Je ne comprends pas l'incompatibilité de type sachant que tous mes tableaux sont des doubles.

Est-ce que quelqu'un pense avoir une idée d'où provient mon erreur?

En vous remerciant par avance,

Cordialement

jérémy

Bonjour,

tu n'as pas défini le type de tabt(10000) dans calculrimp

Sub CalculRimp()

'création de mes 2 tableaux
Dim max As Double
Dim tabt(10000) as double, tabq(10000) As Double
Dim w As Integer
max = Workbooks("Outil.xls").Sheets("1").Cells(12, 8).Value
    For w = 9 To max
        tabt(w) = Workbooks("Outilxls").Sheets("1").Cells(w, 3)
        tabq(w) = Workbooks("Outil.xls").Sheets("1").Cells(w, 4)
    Next w

dim n, i as Integer
n=1000
       for i=1 to n
       c_courant = concentration(tabt(), tabq())
       next i
End Sub

Public Function concentration(ByRef tab1() As Double, ByRef tab2() As Double) As Double
max = Workbooks("Outil.xls").Sheets("1").Cells(12, 8).Value
dim Cq as double
dim tot as double
tot=0
dim q as integer
        for q=1 to max
       Cq=tab1(q)*tab2(q)
       tot=tot+Cq
       next q
concentration=tot
End Function

 

D'accord. Merci. je croyais qu'en faisant

dim tab1(10000), tab2(10000) as Double

, ça me les définissait tous les 2 comme des double.

Rechercher des sujets similaires à "incompatibilite type tableau"