fonction REDIM

D

dood

Guest
Bonjour,

Je n'arrive pas à comprendre le fonctionnement de cette fonction ReDim...
Il me semble qu'elle sert à reconfigurer un tableau VBA (donc un tableau virtuel), mais cela me laisse un peu sceptique. L'aide VBA n'apporte pas grand chose...

En fait, j'ai un userform dont les informations (Checkbox et listbox) qui y sont entrées doivent interagir avec plusieurs modules au sein du même classeur. Or je n'arrive pas à les rendre publiques (static), d'où mon interêt pour ce tableau VBA, car je pourrais y stocker toutes ces informations, et les rendre enfin accessibles à tous mes modules.

Si qq'un veut bien m'expliquer un peu, je serais très heureux !

@+
Dood
 
@

@+Thierry

Guest
Salut Dood et le forum

ReDim Définition

Redim sert a re-dimensionner l'espace de stockage d'un tableau indéxé séquentiellement.

ReDim Usage

J'utilise Redim dans ce cas de figure par exemple :

J'ai une "Database" (feuille) dont je veux extraire trois colonnes en Tableau Virtuel (comme tu appelles) qui est une Dynamic Array, et ce Tableau je le nomme "Tab1" et je le déclare Publique comme suit dans un Module Standard :

Public Tab1() As String

Ensuite j'ai une macro "Ini" qui va me le remplir mais avant il faut que je le dimensionne à la bonne taille donc j'utilise Redim :
Sub Ini()
Dim i As Integer
Dim Plage As Range
Dim Cell As Range

Set Plage = ThisWorkbook.Sheets("Database").Range("A2:" _
& ThisWorkbook.Sheets("Database").Range("A65536").End(xlUp).Address)
ReDim Tab1(1 To Plage.Count, 1 To 3)
i = 0
For Each Cell In Plage
i = i + 1
With Cell
Tab1(i, 1) = .Text
Tab1(i, 2) = .Offset(0, 1).Text
Tab1(i, 3) = .Offset(0, 2).Text
End With
Next
End Sub

Voilà en espérant avoir été explicite, si tu cherches avec mon prénom et "tableau indéxé séquentiellement" tu devrais tomber sur des démos ou j'utilise ReDim....

Bonne Soirée
@+Thierry
 

Discussions similaires

Statistiques des forums

Discussions
314 017
Messages
2 104 587
Membres
109 084
dernier inscrit
mizab