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

Résolu/Fermé
Juan Pedro - 21 avril 2010 à 11:10
 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épassement 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

6 réponses

pilas31
Messages postés
1823
Date d'inscription
vendredi 5 septembre 2008
Statut
Contributeur
Dernière intervention
24 avril 2020
632
Modifié par pilas31 le 21/04/2010 à 14:53
Bonjour,

Juste un avis, le dépassement 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,
4
Ca marche ! Bravo Pilas !!! Merci beaucoup !!
0
Bonjour. ça marche. Bravo Pilas. ça m'enlève une épine du pied
0