Bonjour à tous ,
Mon but est de passer la contenu d'une plage dans un tableau pour pouvoir l'utiliszer plus facilement en VBA . J'ai donc écrit la petite procédure suivante et une seconde pour la tester .
Dans l'état actuel , la procédure de test fait l'équivalent d'un simple copier-coller et fonctionne bien .
Sub ZoneEnTableau(Zorig As Range, Table()) '05-09-14 copie zone en tableau
NbLgZorig = Zorig.Rows.Count
NbColZorig = Zorig.Columns.Count
ReDim Table(1 To NbLgZorig, 1 To NbColZorig)
For I = 1 To NbLgZorig
For J = 1 To NbColZorig
Table(I, J) = Zorig.Offset(I - 1, J - 1).Value
Next
Next
End Sub
Sub ZoneEnTableauTest()
Dim Zorig As Range, Zdest As Range, Table()
Set Zorig = Workbooks('ZoneEnTableau.xls').Sheets('Feuil1').Range(Cells(10, 1), Cells(15, 3))
Call ZoneEnTableau(Zorig, Table())
Set Zdest = Workbooks('ZoneEnTableau.xls').Sheets('Feuil1').Cells(10, 5)
For I = 1 To UBound(Table, 1)
For J = 1 To UBound(Table, 2)
Zdest.Offset((I - 1), (J - 1)).Value = Table(I, J)
' MsgBox Table(I, J) '<-------------- incompatibilité de type
Next
Next
' MsgBox Table(1, 1) '<-------------- incompatibilité de type
End Sub
Quand j'essaie d'utiliser un élément du tableau , j'obtiens le message d'erreur . Les deux lignes en commentaire permettent d'en faire le test .
Quelque chose m'échappe . Merci à ceux qui pourront éclairer ma lanterne .
Je vous joins le fichier de test .
[file name=ZoneEnTableau.zip size=8905]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ZoneEnTableau.zip[/file]