si ton tablo est variant il est possible que ce soit plutôt 0 to ?
tout dépend de la configuration de ton classeur au point de vue déclaration exp Base 1 !?
@tik: si tu ne veux pas perdre une colonne sur la deuxième dimension (0 to 1960) :
Resize(UBound(tablo, 1), UBound(tablo, 2) + 1).Value
Ceci chez moi(xl 2010), fonctionne:
Code:
Dim i As Integer, j As Integer
Dim tablo(1 To 8, 0 To 1960)
For i = 1 To 8
For j = 0 To 1960
tablo(i, j) = CStr(i) & "|" & CStr(j)
Next
Next
Range("A1").Resize(UBound(tablo, 1), UBound(tablo, 2) + 1).Value = tablo
@tik: si tu ne veux pas perdre une colonne sur la deuxième dimension (0 to 1960) :
Resize(UBound(tablo, 1), UBound(tablo, 2) + 1).Value
Ceci chez moi(xl 2010), fonctionne:
Code:
Dim i As Integer, j As Integer
Dim tablo(1 To 8, 0 To 1960)
For i = 1 To 8
For j = 0 To 1960
tablo(i, j) = CStr(i) & "|" & CStr(j)
Next
Next
Range("A1").Resize(UBound(tablo, 1), UBound(tablo, 2) + 1).Value = tablo
Par contre les SELECT dans les boucle ralentisse le fonctionnement de ta macro.
Il vaut mieux référencer les celules dans des variables plutôt que les selectionner.
Ta feuille de calcul est un tableau indicé de 1,1 pour A1 à 1048576,16384 pour la cellule XFD1048576
Code:
Dim C as range
Set C = Range("a" & i)
'Ou
Set C = Cells(i,1) ' ligne i colonne 1)
@ tiki
Chez moi et sous 2007 , pas de plantage
OK avec Hasco pour le +1
Par contre trop de Select a mon gout (et pas celui qui irait bien: Sheets("Sheet1").select )