Memoire insuffisante

bonsoir

j'ai voulu créer un tableau qui reprend chaque valeur de chaque cellule d'une feuille entiere en ecrivant

Dim t As Variant
Set f = ActiveWorkbook.Worksheets
'For Each f In f
 ReDim t(0 To Rows.Count, 0 To Columns.Count - 1)
  For i = 0 To Rows.Count
   For j = 0 To Columns.Count - 1
    If t(i, j) = "xcx" Then
     w = w & Chr(10) & f.Name
    End If
   Next
 Next
MsgBox w

j'ai bien evidement une anomalie a la ligne :

 ReDim t(0 To Rows.Count, 0 To Columns.Count - 1)

Il y a t il une petite astuce pour contourner ce manque de memoire.

Merci pour vos suggestions.

Bonjour,

Pour être certain de pouvoir stocker une feuille de calcul entière, il faut :

1048576 lignes x 16384 colonnes x 32767 caractères par cellule = 512 TeraOctets de RAM pour la feuille et autant pour le tableau !

Tu devrais te limiter à la zone utilisée (UsedRange) ou s'il s'agit d'un tableau, à la plage qu'il occupe (CurrentRegion)

D'autre part, pour explorer un tableau, il est préférable d'utiliser LBound et UBound.

Merci pour cette réponse Patrice 33740

Rechercher des sujets similaires à "memoire insuffisante"