Importer fichier mode protéger avec macro

Bonjour,

Je souhaite importer un fichier dans le dossier courant (la macro fonctionne) sauf lorsque le dossier est en mode protéger et j'aimerais qu'il passe outre cette protection ou qu'il l'enlève. On peux l'enlever à la main, mais je souhaite que la macro le fasse d'elle même.

voici le code de l'importation :

        Set f = ActiveWorkbook.Sheets("EXTRACTION TRUST")
        chemin = ThisWorkbook.Path & "\"
        nomfichier = Dir(chemin & "*.xls")
        flag = 0
        Do While Len(nomfichier) > 0
                For x = 1 To Len(nomfichier)
                    If Mid(UCase(nomfichier), x, 5) = "TRUST" Then
                        nf = nomfichier
                        flag = 1
                        Exit Do
                     End If
                    Next x
            nomfichier = Dir
        Loop
        If flag = 1 Then
            Workbooks.Open Filename:=chemin & nf
            ActiveSheet.Unprotect Password:=""
            Cells.Copy f.Range("A1")
            ActiveWorkbook.Close False
        Else
            MsgBox "Le fichier 'EXTRACTION TRUST' n'est pas dans le dossier courant ou le nom de fichier ne contient pas 'TRUST'", 16
            End
        End If

ce code fonctionne parfaitement sauf lorsque c'est protéger et le "ActiveSheet.Unprotect Password:=""" se résout pas le problème.

capturer

et l'erreur :

capturer1

Si des gens sont intéresser par le code en lui même, il vient d'ici :

https://forum.excel-pratique.com/post345391.html#p345391

Bonjour,

Dans ta macro ... tu dois indiquer le mot de passe ... entre les guillemets : Unprotect Password:="motdepasse"

il n'y a pas de mot de passe, en temps normal il faut ouvrir le dossier en question cliquer sur la bannière rouge, cliquer sur éditer et enregistrer est c'est ok.

Bonjour,

Si ta feuille est protégée ... Mais sans mot de passe...il te faut tout simplement utiliser Unprotect...

Bonjour,

C'était tout bête mais merci cela fonctionne parfaitement.

Re,

Content que cela fonctionne ...

Merci pour tes remerciements ...

Bonjour,

C'est bizarre avant cela fonctionnais parfaitement, j'ai tester au bureau cela ne fonctionne plus et chez moi c'est pareil, pourtant je n'ai pas toucher au code ?

Des idées ?

Sub TEST()

            Set f = ActiveWorkbook.Sheets("EXTRACTION TRUST")
            chemin = ThisWorkbook.Path & "\"
            nomfichier = Dir(chemin & "*.xls")
            flag = 0
            Do While Len(nomfichier) > 0
                    For x = 1 To Len(nomfichier)
                        If Mid(UCase(nomfichier), x, 5) = "TRUST" Then
                            nf = nomfichier
                            flag = 1
                            Exit Do
                         End If
                        Next x
                nomfichier = Dir
            Loop
            If flag = 1 Then
            ActiveSheet.Unprotect
                Workbooks.Open Filename:=chemin & nf
                ActiveSheet.Unprotect
                Cells.Copy f.Range("A1")
                ActiveWorkbook.Close False
            Else
                MsgBox "Le fichier 'EXTRACTION TRUST' n'est pas dans le dossier courant ou le nom de fichier ne contient pas 'TRUST'", 16
                End
            End If
End Sub

j'ai rajouter le unprotect avant et après pour tester les 2 mais normalement il n'est qu'après l'ouverture du fichie

Bonjour,

Je ne suis pas sûr de comprendre tout ton code ...

Tu peux tester l'instruction suivante :

Workbooks.Open Filename:=chemin & nf,ReadOnly:= True

Bonjour,

Merci pour ton conseil mais désolé il refuse toujours d'enlever la protection sans mot de passe de la feuille qu'il ouvre


Peut-être faut-il configurer le status des protection d'outlook mais je ne sais pas comment faire une iée ?

Rechercher des sujets similaires à "importer fichier mode proteger macro"