Ya un soucis avec Dim ici dans ce code, ce fichue debuger pète une durite

Code : Tout sélectionner
NombreDimentionTableau = 2 ; Sert juste à savoir le nombre de dimention qu'a le tableau
Macro IniMonTableauA(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur)
If DimMonTableau(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur) = 1
Dim MonTableau.a(NombreColone) ; Juste des colonnes
ElseIf DimMonTableau(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur) = 2
Dim MonTableau.a(NombreColone, NombreLigne) ; Des colonnes et des lignes
ElseIf DimMonTableau(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur) = 3
Dim MonTableau.a(NombreColone, NombreLigne, NombreProfondeur) ; Des colonnes, des lignes et une profondeur
EndIf
EndMacro
Procedure.l DimMonTableau(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur)
Select NombreDimentionTableau
Case 1
If NombreColone = 0
NombreColone = 1
EndIf
DimMonTableau = 1
Case 2
If NombreColone = 0
NombreColone = 1
EndIf
If NombreLigne = 0
NombreLigne = 1
EndIf
DimMonTableau = 2
Case 3
If NombreColone = 0
NombreColone = 1
EndIf
If NombreLigne = 0
NombreLigne = 1
EndIf
If NombreProfondeur = 0
NombreProfondeur = 1
EndIf
DimMonTableau = 3
Default
If NombreColone = 0
NombreColone = 1
EndIf
DimMonTableau = 1
EndSelect
ProcedureReturn DimMonTableau
EndProcedure
Procedure Tableau(Type$ = ".l", NombreDimentionTableau = 1, NombreColone = 1, NombreLigne = 0, NombreProfondeur = 0)
Select Type$
Case ".a"
IniMonTableauA(NombreDimentionTableau, NombreColone, NombreLign, NombreProfondeur)
Case ".b"
Case ".c"
Case ".d"
Case ".f"
Case ".i"
Case ".l"
Case ".q"
Case ".s"
Default
Type$ = ".l"
EndSelect
EndProcedure

Ya t-il moyen de contourner ce problème, une idée, une tapette, une baffe, une tarte, fin n'importe quoi

Note: Ceci n'est qu'un essaie, j'ai coder ça juste pour passer le temps et essayer un truc !