VBA excel : résoudre problème de capacité.

Résolu
Juan Pedro -  
 Kunzi - 27 janv. 2021 à 12:12
Bonjour à tous les pros du VBA excel et aux autres.

Voilà j'ai un petit probleme (erreur de type "6") qui empeche un de mes codes d'aller à son terme alors qu'il n'y avait jamais eu de problème jusque là... Bizarre, bizarre...

Auriez vous une explication sur ce problème soudain ? Avez vous une piste pour résoudre ce problème de déement de capacité? Dans tous les cas, merci de vous être attardé sur mon problème !!

Dim Tableau1() As Integer
Dim x1 As Integer, y1 As Integer
Dim i1 As Integer, j1 As Integer

x1 = 1465
y1 = 119
'Redimensionne le tableau de la ligne 3 à x et de la 2ème col à la yème

ReDim Tableau1(2 To x1, 3 To y1)

'complète les valeurs du tableau par l'addition des cellules de la même plage sur 2 feuilles

For i1 = 2 To x1
For j1 = 3 To y1
Tableau1(i1, j1) = Workbooks("Fichier Personnel X.xls").Sheets("Statistiques").Cells(i1, j1).Value + Workbooks("Classeur Commun X").Sheets("Statistiques").Cells(i1, j1).Value
Next j1
Next i1

'restitue les valeurs du tableau dans la feuil3

With Workbooks("Classeur Commun X.xls").Sheets("Statistiques")
.Range("C2:DO1465") = Tableau1
End With
Workbooks("Fichier Personnel X.xls").Sheets("Statistiques").Range("C2:DO1465") = ClearContents

A voir également:

6 réponses

pilas31 Messages postés 1825 Date d'inscription   Statut Contributeur Dernière intervention   645
 
Bonjour,

Juste un avis, le déement de capacité se fait sur Tableau peut-être parcequ'il est en "integer" c'est à dire limité a 32767. Il suffit que l'une des additions donne plus pour avoir ce message.

Il suffit peut-être de le déclarer en double ou long :

Dim Tableau1() As Double
ou
Dim Tableau1() As Long

non ?

A+

Cordialement,
6
Juan Pedro
 
Ca marche ! Bravo Pilas !!! Merci beaucoup !!
0
Kunzi
 
Bonjour. ça marche. Bravo Pilas. ça m'enlève une épine du pied
0