Problème avec un constante pour tableau

Problème avec un constante pour tableau - VB/VBA/VBS - Programmation

Marsh Posté le 07-12-2007 à 12:26:25    

Je stocke dans ma variable DLV1 le nombre de ligne de ma colonne excel passée en paramètre de la façon suivante:
 

Code :
  1. Dim DLV1 As Integer
  2. DLV1 = Workbooks(ClasseurATraiter).Sheets(FeuilleATraiter).Columns(Lettre2NumCol(ColonneATraiter)).Find("", , , , xlByRows, xlNext).Row - 1


Cela fonctionne très bien.
Je voudrais ensuite créer un tableau ayant pour taille le nombre de ligne de ma colonne Excel.
J'ai donc pensé à definir mon tableau comme ceci:
 

Code :
  1. Dim tableau(DLV1) As String


Seulement cela ne fonctionne pas. On me dit que DLV1 doit etre déclaré en Constante.
 
Si je déclare DLV1 en constante il me dit que Row doit être en constante également.


Message édité par pulsar07 le 07-12-2007 à 13:52:29
Reply

Marsh Posté le 07-12-2007 à 12:26:25   

Reply

Marsh Posté le 07-12-2007 à 15:24:46    

La fonction Dim appliquée à une varibale de type tableau n'accepte qu'un indice de type constante, soit

Dim tab(15) As Integer

On ne peut pas remplacer 15 par une variable.
Mais il y a une astuce. Car on peut déclarer un tableau comme suit

Dim tab() As Integer

sans indiquer d'indice, puis dans la suite du code utiliser la déclaration ReDim pour fixer l'indice.  
On a alors

Dim tab() As Integer
Dim var As Integer
var = 15
Redim tab(var) As Integer

Voir l'aide en ligne sur ReDim pour les subtilités (ReDim Preserve...)

Reply

Marsh Posté le 07-12-2007 à 16:16:44    

Niquel, Merci tegu.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed