XL 2016 VBA - Trouver les feuilles d'un classeur fermé

  • Initiateur de la discussion Initiateur de la discussion Dudu2
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Solution
Bonjour,
Dans le lien que j'ai fourni je donne des exemples de connections. Tu as la fonction GenereCSTRING qui te permet de créer une connexion sans rien y connaître.

ModuleRequeteurUniversel contient tout ce qui est utile pour jouer avec une base de données que ce soit SQL serveur, Oracle, MySQL, Excel, CSV etc.

GenereCSTRING te retourne le conectionString en fonction du type te base de données à traiter, dans notre cas xls. Notes que des paramètres optionnel permettent de choisir les informations en fonction du type de base. Serveur par exemple sera utile pour SQL serveur, Oracle, MySQL.

VB:
Sub test()
Dim CN As Object, Tables() As String
Set CN = CreateObject("Adodb.connection")
CN.Open GenereCSTRING(Xls...
Re

patricktoulon à dit:
tenez j'ai trouvé ceci pour power query

Apparemment je suis invisible...

Pour Power Query, j'avais posté un code M ce matin à 10h30

Peut-être qu'il sera vu à 14h10
Bonjour le fil


Une alternative avec PowerQuery
PowerQuery:
let
    Source = Excel.Workbook(File.Contents("C:\Chemin\Vers\Fichier.xlsx"), null, true),
    FeuillesSeulement = Table.SelectRows(Source, each [Kind] = "Sheet"),
    NomsDesFeuilles = Table.SelectColumns(FeuillesSeulement, {"Name"})
in
    NomsDesFeuilles
PS: adapter le chemin vers le fichier dans le code M
 
Petite précision importante : si un classeur est fermé et contient des feuilles protégées, il est impossible d’accéder à leur contenu directement via DAO, ADO ou même en lisant le XML du fichier.
On peut seulement récupérer les noms des feuilles, mais pour lire les cellules, il faut ouvrir le classeur et, si nécessaire, déprotéger les feuilles avec le mot de passe.
Autrement dit, il n’existe pas de méthode “magique” pour contourner la protection depuis un fichier fermé.
Bonjour,
Pas sûr 🧐
PQ peut importer les feuilles, même en VeryHidden et protégées par mdp...(même si le code VBA est protégé...)
Seul le fichier protégé par mdp en lecture empêche PQ d'y accéder.
Bonne apm
 
Avec ADO (OLEDB), quand tu ouvres un fichier Excel (.xls, .xlsx, .xlsm), tu ne passes pas par l’interface Excel mais par un fournisseur de données (Jet ou ACE).

Ce fournisseur ne comprend pas les mécanismes de protection de feuille (verrouillage des cellules, interdiction de modification, etc.).
👉 Résultat : tu peux lire les données d’un onglet protégé sans problème, puisque la protection agit seulement dans l’interface Excel, pas dans le moteur ADO.
 
Avec ADO (OLEDB), quand tu ouvres un fichier Excel (.xls, .xlsx, .xlsm), tu ne passes pas par l’interface Excel mais par un fournisseur de données (Jet ou ACE).

Ce fournisseur ne comprend pas les mécanismes de protection de feuille (verrouillage des cellules, interdiction de modification, etc.).
👉 Résultat : tu peux lire les données d’un onglet protégé sans problème, puisque la protection agit seulement dans l’interface Excel, pas dans le moteur ADO.
punaise Robert c'est pas des choses a dire trop fort en public ça 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Excel et Insee
Réponses
6
Affichages
550
Réponses
4
Affichages
189
  • Résolu(e)
Microsoft 365 transposer
Réponses
6
Affichages
142
Réponses
4
Affichages
95
Retour