VBA excel : résoudre problème de capacité.
Résolu
Juan Pedro
-
Kunzi -
Kunzi -
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
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
A voir également:
- Dépassement de capacité vba
- Erreur d'execution '6' Dépassement de capacité ✓ - Forum Excel
- Le logiciel amd a détecté un dépassement de délai du pilote ✓ - Forum Carte graphique
- VBA EXCEL - ERREUR 6 : DÉPASSEMENT DE CAPACITÉ ✓ - Forum Excel
- Dépassement de capacité VBA ✓ - Forum VB / VBA
- Test capacité pc - Guide
6 réponses
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,
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,
Juan Pedro
Ca marche ! Bravo Pilas !!! Merci beaucoup !!
Kunzi
Bonjour. ça marche. Bravo Pilas. ça m'enlève une épine du pied