[VBA] Excel 2007 - Ouverture classeur encrypté

Bonjour à tous,

Cela fait un moment que je travaille sur un outil basé sur des macro et je suis coincé sur un problème auquel je n'avais pas songé au tout début ... Donc help ! :p

Contexte:

Version d'Excel: 2007

Urgence: moyenne, enfin le plus serait le mieux !

Nous avons de 3 classeurs Excels:

  • Classeur 1: contient les macros et l'interface viseul
  • Classeur 2: contient les données sources
  • Classeur 3: est le classeur cible

Le classeur 1 est la principale interface visuel de l'utilisateur, dans lequel il va indiquer où se trouve le classeur 2 et le classeur 3, les chemins windows sont enregistrés.

Selon les noms des classeurs des macros sont lancés et vont cherché les informations du classeur 2 (ligne par ligne) pour les transformer selon des tables de mapping ci besoin et les placer au bon endroit dans le classeur 3.

Presque tout marche à merveille sauf un tout petit détail ...

Le classeur 3 est encrypté ... il provient d'un logiciel, c'est un template de chargement de données qui est encrypté lorsqu'on les génère depuis le logiciel.

Le mot de passe est connu des utilisateurs bien entendu et lorsque la macro n'ouvre qu'un seul classeur 3 tout va bien mais à terme le programme aura à gérer plusieurs classeurs de ce type en même temps et je souhaiterai éviter à l'utilisateur d'avoir à entrer le mot de passe X fois et de se tromper de surcroit.

J'ai bien entendu testé la ligne de code classique:

Workbooks.Open fichierclasseur3, 0, ReadOnly:=False, Password:="blablabla"

Mais j'ai en retour une erreur 1004 (erreur sur le mot de passe) or je suis certain que ce dernier est correct. Et c'est là où je me suis rappelé que les classeurs provenant du logiciel étaient encrypté et donc les mots de passes surement aussi ...

Existe-t-il un moyen de gérer les mots de passes encryptés lors de l'ouverture du classeur ? J'ai fais pas mal de recherche sur le net et aucun résultat probant (en général les macro fonctionnent trouvées interagissent une fois le classeur ouvert).

Merci d'avance pour votre aide

Bonjour,

si le mot de passe est crypté, à moins de récupérer l’algorithme de cryptage, ça va être coton.

Mais je ne comprend pas très bien,

Si tu ouvre 1 seul classeur 3 ça marche, donc le cryptage deviens une piste moins sérieuse.

Pour le moment oui je ne travaille qu'avec un seul classeur 3 mais à moyen terme ce ne sera plus le cas et la macro travaillera avec plusieurs classeur 3 (entre 5 ou 6 dans certain cas ...).

J'avais trouvé des articles intéressant sur la protections et l'encryptage des classeurs mais je ne trouve pas de moyen de l'exploiter car cela ne correspond pas à mon cas.

Je sais également qu'il est possible de récupérer la méthode de cryptage via une macro lorsque le classeur est ouvert (par contre je n'arrive plus à retrouver ce bout de code ... raah) mais après savoir comment exploiter cette information me dépasse complètement ^^

Rechercher des sujets similaires à "vba 2007 ouverture classeur encrypte"