[VBA-E] Question sur les Array de plages
hello !
Je travaille actuellement au traitement d'un document et j'ai besoin de reformatter une série de plages non contigües, avec le même format.
J'utilise un Array pour regrouper mes plages de travail, avec un code qui ressemble à ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Workbooks("rato.xls").Activate
Dim monarray as variant
Dim dernLigneD as integer
Dim dernLigneP as integer
dernLigneD = Sheets("Demands").Range("A1").CurrentRegion.Rows.Count
dernLigneP = Sheets("Projects").Range("A1").CurrentRegion.Rows.Count
'' Re formatage des zones de dates pour rendre celles au format texte, calculables
monarray = Array(ActiveWorkbook.Sheets("Demands").Range(Cells(2, 9), Cells(dernLigneD, 12)), _
ActiveWorkbook.Sheets("Demands").Range(Cells(2, 24), Cells(dernLigneD, 32)), _
ActiveWorkbook.Sheets("Projects").Range(Cells(2, 12), Cells(dernLigneP, 24)))
... traitement des plages contenues dans l'Array... |
Ce monarray pose problème : avec les 2 premières valeurs l'exécution se passe comme un charme, mais avec l'ajout de la 3ème valeur (ActiveWorkbook.Sheets("Projects").Range(Cells(2, 12), Cells(dernLigneP, 24))) elle plante avec une erreur 1004.
Où est le problème ?? Un tableau ne peut-il contenir que des références au sein d'une même feuille ? Le classeur reste le même cependant.
Merci de votre aide à ma compréhension.