Bonjour à tous

J'ai vu que des discussions avaient déjà été ouvertes sur des sujets similaires, mais après quelques heures à essayer de m'en sortir seul, j'abdique et je tente la demande d'entre-aide.

J'ai un dossier contenant des fichiers Excel qui sont remplis par des individus (réponses à des questionnaires) que je cherche à regrouper en un seul fichier type BDD (les questionnaires sont sur plusieurs feuilles, mais tous les fichiers sont identiques dans leur structure par contre, et même dossier).

J'ai besoin que dans la première colonne de mon fichier BDD apparaisse le nom du fichier. J'ai tenté de le faire dans la macro suivante, mais ça ne marche pas. Je n’ai pas de l’utiliser la bonne formule.

J'aimerais aussi pouvoir copier / coller-transposer (uniquement les valeurs) à la suite du premier coller les résultats des feuilles suivantes, mais là aussi je n'arrive pas à coder correctement.

Je vous mets l'exemple de mon fichier source et de mon fichier base de données et le code que j'ai tenté d'écrire.

Merci énormément pour votre aide et vos conseils.

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
 
Sub Extraire()
 
Application.ScreenUpdating = False
 
Dim Fichier As String
Dim Chemin As String
Dim ClasseurSource As Workbook
Dim valeur1 As String
 
 
 
valeur1 = ThisWorkbook.Worksheets("Synth").Range("A1").Value
Chemin = "C:\Users\...\questionnaire adulte complémentaire\" & valeur1 & "\" 'Chemin du répertoire contenant les fichiers
Fichier = Dir(Chemin & "Cotation autoquestionnaire complementaire*.xlsx")
 
Do While Fichier <> ""
    Set ClasseurSource = Workbooks.Open(Chemin & Fichier)
[ATTACH]418477[/ATTACH][ATTACH]418478[/ATTACH]
     ClasseurSource.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Insert = "nom de fichier"
 
    ClasseurSource.Worksheets("YFAS 2").Range("D2:D89").Copy
    ThisWorkbook.Worksheets("Synth").Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
 
 
 ClasseurSource.Close
 Fichier = Dir
Loop
 
End Sub

Merci de votre aide
NB : j'ai aussi un petit souci sous Mac, il ne trouve pas le lien vers mon dossier, y'a une subtilité que je n'ai pas du saisir