Retirer protection feuille sur classeur fermé

Bonjour le forum

Pas besoins d'une longue explication tout est dans le titre !

Je ne maîtrise que trop mal le VBA pour l'utilisation de classeur fermés... Après de longue heures recherche et de tentative de compréhension j'ai trouvé ce code qui permet d'importer des données d'un classeur fermé !

Je me suis dit que c'était une bonne base pour commencer !

Par avance, merci de l’intérêt porté à ce poste

Dim Lien
Private Sub CommandButton1_Click()
    fileToOpen = Application.GetOpenFilename
    If fileToOpen <> False Then
        Lien = fileToOpen
        RecupChampGetRows
    End If
End Sub

Sub RecupChampGetRows()
    Set cnn = New ADODB.Connection
    cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
    Lien & ";Extended Properties='Excel 12.0;HDR=No'"

    '---
    Set rs = cnn.Execute("[Feuil1$A1:C100]")
    [A1].CopyFromRecordset rs
    '---

    rs.Close
    cnn.Close
    Set rs = Nothing
    Set cnn = Nothing
End Sub

Bonjour,

Pourquoi n'utilises-tu pas Récupérer et transformer (Power Query) dans le Ruban ?

Cdlt.

Merci du retour rapide Jean-Eric mais pourrais tu développer ?

Ah ok je viens de comprendre, mais ce n'est pas ce que je cherche à faire. Je cherche un moyen d’écrire dans un classeur qui possède une feuille protégée par un mot de passe !

Ok je viens de trouver la réponse à ma question, malheureusement ce n'est pas possible ...

BOnjour,

Ton classeur peut-il s'ouvrir quand même ? c'est uniquement une feuil qui est protégée ?

Oui oui je l'ouvre avec par exemple workbooks.open

Est ce n'est bien qu'une feuille qui est protégée !

Oui oui je l'ouvre avec par exemple workbooks.open

Est ce n'est bien qu'une feuille qui est protégée !

Dans ce cas tu ouvres ton fichier , dans développeur tu clic sur Macros /

tu lui donnes un nom puis tu clic sur créer et tu viens copier coller le code ci-dessous.

Après tu lances la macro quand tu est sur la feuille protégée.

Dim a, b, c, d, e, f, g, h, i, j, k, l As Integer
On Error Resume Next
For a = 65 To 66
For b = 65 To 66
For c = 65 To 66
For d = 65 To 66
For e = 65 To 66
For f = 65 To 66
For g = 65 To 66
For h = 65 To 66
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 32 To 126
ActiveSheet.Unprotect Chr(a) & Chr(b) & Chr(c) & Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) & Chr(i) & Chr(j) & Chr(k) & Chr(l)
If ActiveSheet.ProtectContents = False Then
MsgBox "La protection de la feuille a été enlevée avec succès !" & Chr(10) & Chr(10) & "Les caractères qui ont réalisé cette prouesse sont :" & Chr(10) & Chr(10) & Chr(a) & Chr(b) & Chr(c)& Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) & Chr(i) & Chr(j) & Chr(k) & Chr(l), vbInformation,"C’est fait !"
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next

Merci du retour, je teste ça plus tard. Si je comprend bien le code ci-dessus il test des mot de passes avec des lettres allant de A à L ?

Rechercher des sujets similaires à "retirer protection feuille classeur ferme"