IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Modules de code non visibles [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2010
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 153
    Par défaut Modules de code non visibles
    Bonjour à tous,

    On m'a donné un fichier .xla pour un projet, contenant pas mal de code VBA, sauf que quand j'ouvre Microsoft Visual Basic il n'y a rien ! Seulement "Feuil1" et "ThisWorkBook" dans "Microsoft Excel Objects", pas de dossier "Modules".

    J'ai un autre fichier à moi (.xlm) que je peux ouvrir en même temps et pour lequel j'ai bien un dossier "Modules" qui me permet de voir le code.

    J'ai décompressé le fichier xla et en effet il est rempli de dossiers et de fichiers VBA mais qui sont encodés donc illisibles, mais dans lesquels je retrouve des noms de fonctions et autres infos que je devrai voir dans le code.

    Pourquoi je ne peux pas le lire ?!

    Merci pour vos éclairages...

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Titum Voir le message
    On m'a donné un fichier .xla pour un projet, contenant pas mal de code VBA, sauf que quand j'ouvre Microsoft Visual Basic il n'y a rien ! Seulement "Feuil1" et "ThisWorkBook" dans "Microsoft Excel Objects", pas de dossier "Modules".
    Les macros peuvent être écrites dans "Feuil1" ou "ThisWorkBook".
    Surtout s'il s'agit de macro évènementielles.

    fichiers VBA mais qui sont encodés donc illisibles, mais dans lesquels je retrouve des noms de fonctions et autres infos que je devrai voir dans le code.
    Pourquoi je ne peux pas le lire ?!
    Peut-être parce que l'auteur les a protégé.

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    On m'a donné un fichier .xla pour un projet, contenant pas mal de code VBA, sauf que quand j'ouvre Microsoft Visual Basic il n'y a rien
    perso quand on me donne un xl(a,am,sx,lm,etc....) j'ouvre le classeur en bloquand les macros

    si je vois pas le code je jette le fichier
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2010
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 153
    Par défaut
    Je ne peux pas juste jeter le fichier, il contient du code dont j'ai besoin. Beaucoup de code !
    Dans "Feuil1" comme dans "ThisWorkbook" je double-clique pour ouivrir la fenêtre de code et au mieux j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     
    End Sub
    C'est tout :'

  5. #5
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Salut,

    il y a un mot de passe sur ton fichier ?

    C'est confirmé de la part de celui qui t'envoie le fichier qu'il contient bien du code ? Ce n'est pas un poisson d'avril en retard ??
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 121
    Par défaut
    Salut

    Le code est secret ou tu peux diffuser?

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Je ne comprends pas bien ton problème...

    Tu dis que tu décompresses le XLA (un xla n'est pas compressé). C'est un xla ou un xlam? Tu dis que tu vois du code illisible. C'est donc que tu vois les modules...
    Tu vois les modules ou pas?

    J'ai l'impression que le code a été obfusqué.

    Lorsque tu vois le code, ça ressemble à ceci?
    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
    Private Function iqiqqqiqiqql&(iqiijiiqiijq() As Byte, iqiqqjiqiqqp As Boolean)
    Dim iiiqijiiiqip%, iilplpiilpji%, iqiqliiqiqlq&
    iqiqliiqiqlq = IIf(iqiqqjiqiqqp, 128, 256)
    For iiiqijiiiqip = UBound(iqiijiiqiijq) To LBound(iqiijiiqiijq) Step -1
    iqiqqqiqiqql = iqiqqqiqiqql + (iqiqliiqiqlq ^ iilplpiilpji * iqiijiiqiijq(iiiqijiiiqip))
    iilplpiilpji = iilplpiilpji + 1
    Next iiiqijiiiqip
    End Function
    Function iqiqlliqiqlj(iiijqliiijqj%, iilpjqiilpjl As iiqqppiiqlii) As iiqqppiiqlii
    Dim iqiqlpiqiqji As iqiiqiiqiiqq
    Dim iqiqjqiqiqjl As iqiijliqiijj, iqiqjjiqiqjp As iqiipqiqiipl
    Dim iiijqpiiijli$, iqiqpiiqiqpq$
    Dim iqiqpliqiqpj&, iiipqqiiipql&, iijjiiiijjiq&
    Dim iijqiiiijqiq As iiqqppiiqlii
    Dim iqiqppiqilii(1 To 10) As Byte
    On Error GoTo fin
    iiipqqiiipql = iilpjqiilpjl.iiqliqiiqlil
    iqiqlliqiqlj = iijqiiiijqiq
    Si oui => obfusqué (utilisable et fonctionnel, mais illisible et incompréhensible par un humain)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  8. #8
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Que veux-tu exactement dire par :
    Seulement "Feuil1" et "ThisWorkBook" dans "Microsoft Excel Objects", pas de dossier "Modules".
    Cela signifie-t-il que tu vois ceci en affichant l'explorateur de projet ?
    Nom : module.JPG
Affichages : 1537
Taille : 16,1 Ko
    ?
    Si oui -->> question : sur quoi cliques-tu très précisément lorsque tu veux travailler normalement avec cette application ?

    Par ailleurs :
    J'ai décompressé le fichier xla et en effet il est rempli de dossiers et de fichiers VBA
    je ne comprends pas vraiment le sens de cette phrase. Mais peu importe. Peux-tu nous montrer ici la liste de ces "dossiers et fichiers" ?

  9. #9
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2010
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 153
    Par défaut
    Bonsoir,
    Je ne peux pas divulguer le code.

    Désolé c'est un XLM en fait, pas XLA. Ca ne change pas grand chose.
    J'ai un fichier qui sert de base aux projets et contenant tout le code VBA nécessaire mais pas de données dans la feuille, il fait plusieurs Mo donc ce n'est pas un fichier vide. J'en ai un autre qui contient des données visibles dans plusieurs feuilles.
    Ce qui me semble louche c'est que quand j'ouvre le fichier de base, il s'appelle "Classeur1" (image ci-dessous) au lieu de mettre le nom du fichier. Ce qui voudrait dire qu'Excel plante sans rien dire et ouvre un nouveau fichier comme si de rien n'était
    Ci dessous "Classeur1" est donc ce que j'obtiens en ouvrant mon fichier XLM. Le suivant est un fichier dans lequel on a 3 feuilles avec le fameux dossier de modules contenant du code. Le dernier est un fichier de projet qui a des feuilles supplémentaires avec des quelques données mais toujours pas le code attendu ! J'ai ouvert les feuilles dans VBA et ThisWorkbook mais ça ne contient pas le code.
    Nom : vba.jpg
Affichages : 1549
Taille : 44,8 Ko

    Le format des fichiers Microsoft Office est en fait un répertoire zippé. On peut donc les dézipper pour voir le contenu, tout simplement.
    Lorsque je regarde le contenu dézippé du fichier de base il y a un répertoire _VBA_PROJECT_CUR contenant des sous-répertoires et fichiers qui sont exactement les fonctions VBA que je cherche à lire, mais en les ouvrant ça donne ça
    Nom : vba2.jpg
Affichages : 1492
Taille : 33,8 Ko
    Il y a certains fichiers en clair contenant les positions et tailles des fenêtres à ouvrir par VBA.

    Il n'y a pas de mot de passe (en tut cas ça ne demande rien à l'ouverture).

    Voilà où j'en suis. Merci pour tous vos messages.
    Petite info supplémentaire concernant le soupçon de plantage sans notification : pas d'alerte dans le journal d'évènements Windows concernant Microsoft Office qui puisse y ressembler.

  10. #10
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Lorsque je regarde le contenu dézippé du fichier de base il y a un répertoire _VBA_PROJECT_CUR contenant des sous-répertoires et fichiers
    J'attends donc que tu nous en montres la liste (cf mon message précédent)

    J'attends également que tu nous dises (cf mon message précédent) ce sur quoi tu cliques pour lancer normalement ton application.

  11. #11
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 903
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par unparia Voir le message
    J'attends donc que tu nous en montres la liste (cf mon message précédent)
    Cela ne servira à rien. Dans le fichier Open XML, la partie VBA n'est pas en XML, mais en binaire. Si c'était un fichier Word, mais cela n'a pas été implanté dans Excel, on pourrait récupérer les noms des macros, mais pas le code.

  12. #12
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2010
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 153
    Par défaut
    Bon, alors je viens de résoudre mon problème !

    J'ai transféré le dossier que l'on m'a donné (contenant les fichiers xlm, xls et des trucs annexes dont des executables appelés via VBA) à la racine de mon ordi.
    De là j'ai lancé le fichier xlm de base, Excel s'ouvre et demande d'activer les macros et là une fenêtre personnalisée s'est ouverte avec un bouton demandant de charger un fichier xls de projet (réalisé par le développeur m'ayant donné les fichiers).
    J'ai choisi le projet de démo, qui s'est ouvert dans une fenêtre Excel normale.
    La fenêtre personnalisée a disparue toute seule.
    Je me retrouve donc avec une instance d'Excel nommée "Excel" (elle ne prend pas le nom du fichier de base que j'ai lancé) et une instance avec le fichier xls que j'ai choisi d'ouvrir via la fenêtre personnalisée.
    Et comme par miracle, dans ma liste des projets VBA, je vois enfin ce fameux fichier de base (avec le nom correct) avec tout son code, en plus du xls sélectionné.

    Il semble donc bien qu'il y avait un bug silencieux quelque part. Mais c'est très bizarre puisque ce n'est pas un bug du code VBA contenu car ça ne demandait même pas d'activer les macros !

    Pourquoi j'ai eu l'idée de transférer à la racine ? j'avais eu l'info de le mettre "dans" C mais pas à la racine... ou alors le détail qui tue m'avait échappé.
    Ca ne m'explique pas le pourquoi du bug sans macro activée...

    Merci beaucoup pour votre aide, réactivité, cogitations diverses et pertinentes et tout... !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] textBox+code-barre non visible
    Par dodo28 dans le forum Access
    Réponses: 2
    Dernier message: 19/12/2011, 15h03
  2. Réponses: 2
    Dernier message: 08/02/2009, 18h55
  3. Envoi pièce jointe, code HTML dans Outlook non visible !
    Par etorria dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 11/07/2008, 12h54
  4. Code non visible, mais existent !
    Par Rainbow30 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 13/09/2007, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo