Bonjour,

Je me permet de venir chercher de l'aide ici car dans le cadre de mon travail on me demande de faire des macro pour nous simplifier la vie et même si je "bidouille" un peu je reconnais que quand ça bug je ne sais comment résoudre le problème :
Je dois consolider des fichiers enregistré dans un dossier. Tous les fichiers ont des nom différents (TYPE_EMPLOI_NOM_DATE_ENVOI) et le nombre de fichier sera évolutif au fil des mois.
Petite difficulté supplémentaire, chaque fichier est protégé à l'ouverture par un mot de passe unique (lui même généré par macro lors de l'enregistrement) le mot de passe se décompose comme suis : Rem + 1ère lettre du NOM + Nb Caractère du NOM
en exemple : si la personne s'appelle DUPUIS le mdp sera RemD6

J'ai deux question :
première chose j'avais un problème de DO pour ma boucle, j'ai rajouté un end with donc plus de problème mais impossible que la macro marche...
deuxième chose quand je souhaites rajouté la présence du MDP impossible car il me dit "attendu fin d'instruction" à partir du moment même ou je met le , ah et je m'interroge sur le fait que j'ai bien défini le mot de passe en fonction du Nom du fichier
Ah et finalement 3ème chose s'il y a des choses pas logique dans mon code n'hésitez pas à me le dire je dois reconnaitre que j'essai de me perfectionner mais ce n'est pas mon métier à la base.

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
Sub EtudeRem()
 
Dim Rep As String
Dim ClasseurConsolidé As String
Dim ClasseurSource As String
 
    Rep = ThisWorkbook.Path
 
    If Rep = "" Then
        GoTo FIN
    End If
 
    ClasseurConsolidé = ActiveWorkbook.Name
    ClasseurSource = Dir(Rep & "\*.xlsx")
 
    mdp = "Rem" & Left(UCase(Fichier.Name), 1) & Len(Split(Fichier.Name, " ")(0))
    'OUVRE ET RECUPERE LES DONNEES DE CHAQUE EXTRACTION
    Do While ClasseurSource <> Empty
    NomFichier = Fichier.Name
    If Not Fichier.Name = "referentiel Etude Rem.xlsm" Then
        With Workbooks.Open(Rep & "\" & ClasseurSource, UpdateLinks:=0), password=mdp)
 
            On Error Resume Next
 
            Application.Workbooks(ClasseurSource).Worksheets("CONSO").Activate
            Range("A3:AA3").Select
            Range(Selection, Selection.End(xlDown)).Select
            Selection.Copy
 
            Application.Workbooks(ClasseurConsolidé).Worksheets("Référentiel").Activate
            Range("A3").Select
            Selection.End(xlDown).Select
            ActiveCell.Offset(1, 0).Select
            ActiveSheet.Paste
 
            On Error GoTo 0
            .Close False
        End With
 
        ClasseurSource = Dir
    Loop
End If
 
FIN:
 
End Sub
Si par avance quelqu'un saurais m'aider je lui en serais réconnaissante car cela fait plusieurs hours que je me prend la tête sur ce code et je n'arrive pas à le modifier pour qu'il fonctionne.

D'avance merci à tous,

Yuukia