Vba (excel) : Dépassement de capacité.
Fermé
Usgpa
-
30 mars 2010 à 10:18
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 30 mars 2010 à 18:37
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 30 mars 2010 à 18:37
A voir également:
- Vba (excel) : Dépassement de capacité.
- Liste déroulante excel - Guide
- Formule excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Mise en forme conditionnelle excel - Guide
2 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
30 mars 2010 à 10:33
30 mars 2010 à 10:33
Bonjour
regarde si
DO1465 au lieu deD01465
regarde si
DO1465 au lieu deD01465
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
30 mars 2010 à 14:55
30 mars 2010 à 14:55
peut-être qu'une autre manière de procéder avec 2 tableaux conviendrait ( et + rapide?); maquette très simple:
Sub ccc() tablo_out = Range("A1:B5") tablo_in = Range("E1:F5") For cptr_y = 1 To 5 For cptr_x = 1 To 2 tablo_out(cptr_y, cptr_x) = tablo_out(cptr_y, cptr_x) + tablo_in(cptr_y, cptr_x) Next Next Range("J1:K5") = tablo_out 'destination finale changée pour visualiser l'essai End Sub
Tableau2(i, j) = Workbooks("Fichier Personnel X.xls").Sheets("Statistiques Clients").Cells(i, j) + Workbooks("Classeur Commun X.xls").Sheets("Statistiques Clients").Cells(i, j)
Maintenant, Vba me signale une incompatibilité de type dans cette ligne... avez vous une idée de ce dont il pourrait s'agir ?
Maintenant, Vba me signale une incompatibilité de type dans cette ligne... avez vous une idée de ce dont il pourrait s'agir ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
30 mars 2010 à 18:01
30 mars 2010 à 18:01
là, non...la solution alternative que je t'ai proposée fonctionne mais je n'ai pas testé avec 2 classeurs... D'ailleurs je l'avais pondue après ton message précédent où te signalais déjà cette erreur
désolé
désolé
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
30 mars 2010 à 18:37
30 mars 2010 à 18:37
re,
pensé à çà en épluchant les patates...
essaies en ajoutant la propriété "value" aux 2 cells(i,j)
Tableau2(i, j) = Workbooks("Fichier Personnel X.xls").Sheets("Statistiques Clients").Cells(i, j).value + Workbooks("Classeur Commun X.xls").Sheets("Statistiques Clients").Cells(i, j).value
pensé à çà en épluchant les patates...
essaies en ajoutant la propriété "value" aux 2 cells(i,j)
Tableau2(i, j) = Workbooks("Fichier Personnel X.xls").Sheets("Statistiques Clients").Cells(i, j).value + Workbooks("Classeur Commun X.xls").Sheets("Statistiques Clients").Cells(i, j).value
30 mars 2010 à 10:36
Modifié par michel_m le 30/03/2010 à 10:42
dim tableau1
au lieu de
Dim Tableau1() As Integer
30 mars 2010 à 10:46
tableau(i, j) = Workbooks("Fichier Personnel X.xls").Sheets("Statistiques Clients").Cells(i, j) + Workbooks("Classeur Commun X.xls").Sheets("Statistiques Clients").Cells(i, j)
30 mars 2010 à 10:57
Dim tableau
Dim x As Integer, y As Integer
Dim i As Integer, j As Integer
'ici x est la dernière ligne, y la dernière colonne
x = 800
y = 8
'Redimensionne le tableau de la ligne 3 à x et de la 2ème col à la yème
ReDim tableau(2 To x, 5 To y)
'complète les valeurs du tableau par l'addition des cellules de la même plage sur 2 feuilles
For i = 2 To x
For j = 5 To y
tableau(i, j) = Workbooks("Fichier Personnel X.xls").Sheets("Statistiques Clients").Cells(i, j) + Workbooks("Classeur Commun X.xls").Sheets("Statistiques Clients").Cells(i, j)
Next j
Next i
'restitue les valeurs du tableau dans la feuil3
With Workbooks("Classeur Commun X.xls").Sheets("Statistiques Clients")
.Range("E2:H800") = tableau
End With
Range("E2:H800").ClearContents
Avec un incompatibilité de type sur la ligne soulignée