Bonjour à tous!

Je suis actuellement en stage dans le cadre de ma 2ème année de BTS Info Gestion Option Développeur.

Je dois 'automatiser' la saisie d'informations dans un fichier excel, recensant toutes les subventions reçues par l'entreprise, leur répartition et leur utilisation.
Ce fichier doit se remplir à partir des fiches info des contrats de subventions.

Le langage imposé est donc VBA (je n'en ai fais qu'une fois quand j'étais en 1ère STG Gestion...)

Dans un premier temps j'ai créé une fonction récupérant tous les noms des fichiers commençant par Fiches Info (stockés dans un tableau à une dimension).
Puis j'ai essayé de mettre le nom des fichiers dans la Colonne 'Contrat' de mon tableur. Lorsque je veux exécuter ma macro ce message d'erreur apparaît :

Erreur de compilation : Incompatibilité de type
(CF ligne en rose dans le code, et variable soulignée)

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
48
49
50
51
52
53
54
55
56
57
58
'Cette fonction récupère les noms de tous les fichiers comportant "Fiche INFO dans leur intitulé
Public Function ListeFichier(ByVal maListe As String) As String
    Set FichierSch = Application.FileSearch

    With FichierSch
        'Dossier dans lequel chercher les fichiers
        .LookIn = "C:\Users\Akhane\Desktop\STAGE_IG2\excel"
        'Extension des fichiers à trouver
        .Filename = "*.xls"
        'Des fichiers on été trouvés
        If .Execute > 0 Then
            For compteur = 1 To .FoundFiles.Count
                'Si le fichier commence "par Fiche Info" et est de type *.xsl
                If Left(Right(.FoundFiles(compteur), Len(.FoundFiles(compteur)) - Len(.LookIn)), 21) = "Fiche INFO " Then
                    ReDim Preserve maListe(0 To .FoundFiles.Count)
                    If Not .FoundFiles.Count = 0 Then
                        'Initialisation du tableau grâce aux noms trouvés
                        maListe [compteur - 1] = .FoundFiles(compteur)
                    End If
                End If
            MsgBox (compteur & "fichiers trouvés")
            Else
                MsgBox ("pas de fichier excel trouvé")

        End If
    End With
End Function


'Cette procédure permet de remplir de manière automatique les colonnes liées au nom d un contrat
Sub remplirInfosContrat()
    Dim compteur As Integer
    Dim k As Integer
    Dim myTab(2) As String
    Dim maListe(1) As String
    
    'Initialisation de k
    k = 0
    
    'Appel de la fonction ListeFichier
    maListe = Me.ListeFichier(maListe)
    
    'Boucle sur la liste des noms de fichiers
    For compteur = 0 To UBond(maListe, 1)
        'Ouverture du fichier correspondant à l'indice i
        Workbooks.Open Filename = maListe(i)
        
        'Séparation de la chaîne de caractères comportant le nom du fichier pour ne garder que le nom de l'acteur concerné
        myTab = Split(maListe(i), "-")
        
        'Affectation de ce nom à la cellule "contrat"
        Cells(15 + k, 7) = myTab(1)
        
        'incrémentation de k pour passer à la ligne d'en dessous s'il y a un nouveau fichier
        k = k + 1
    Next compteur
    
End Sub
En espérant que quelqu'un puisse éclairer ma lanterne...

Merci d'avance