Bonjour à tous,

J'utilise actuellement la fonction Array dans une macro VBA, celle-ci me permet de récupérer des données d'un autre fichier Excel pour les insérer dans le mien.
Mon petit problème se situe sur cette fonction. Celle-ci peut me récupérer au maximum 12 valeurs, or, j'aimerais en récupérer davantage ...

Je pense qu'il doit simplement s'agir d'une erreur de syntaxe ou de déclaration de variable. Le code de la fonction est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
 
 
   Function OuvrirFichier(cheminFichier As String) As Variant
   Dim wb As Workbook
   Dim xlapp As Excel.Application
 
   Dim Parc As Variant
   Dim ABC As Variant
   Dim Designation As Variant
   Dim Famille As Variant
 
   Set xlapp = CreateObject("Excel.Application")
   xlapp.Visible = False
 
   Set wb = xlapp.Workbooks.Open(cheminFichier)
   With wb.Sheets("SYNTHESE")
 
      OuvrirFichier = Array(.Range("A6").Value, .Range("C6").Value, _
                                   .Range("D6").Value, .Range("E6").Value, _
                                   .Range("G6").Value, .Range("H6").Value, _
                                   .Range("Q6").Value, .Range("S6").Value, _
                                   .Range("U6").Value, .Range("AH6").Value, _
                                   .Range("AK6").Value, .Range("AL6").Value, _
                                   .Range("AM").Value, .Range("AN6").Value, _
                                   .Range("AO6").Value, .Range("AP6").Value, _
                                   .Range("AR6").Value, .Range("AS6").Value, _
                                   .Range("AT6").Value, .Range("AU6").Value, _
                                   .Range("AV6").Value, .Range("AW6").Value, _
                                   .Range("AX6").Value, .Range("AY6").Value, _
                                   .Range("AZ6").Value, .Range("BA6").Value, _
                                   .Range("BB6").Value, .Range("BC6").Value, _
                                   .Range("BD6").Value, .Range("BE6").Value, _
                                   .Range("BF6").Value, .Range("BG6").Value, _
                                   .Range("BH6").Value, .Range("BI6").Value, _
                                   .Range("BJ6").Value, .Range("BK6").Value, _
                                   .Range("BL6").Value, .Range("BM6").Value, _
                                   .Range("BN6").Value, .Range("BO6").Value, _
                                   .Range("BP6").Value, .Range("BQ6").Value, _
                                   .Range("BR6").Value, .Range("BS6").Value, _
                                   .Range("BT6").Value, .Range("BU6").Value, _
                                   .Range("BV6").Value, .Range("BW6").Value)
 
 
   End With
   wb.Close False
   xlapp.Quit
End Function
Si quelqu'un peut m'aider svp ?