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 :

Comment résoudre Erreur chargement de la Dll ? [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut Comment résoudre Erreur chargement de la Dll ?
    Bonjour,

    Après avoir recherché des solutions dans ce forum à propos du message d'erreur de la DLL pas chargé dans XL-2013, je crois avoir compris la raison. J'ai travaillé mon code sur une version XL-2016 après l'avoir mis en place sur une version XL-2013 et je crois que le message apparait depuis mon retour à la version XL-2013.

    Quelle est la solution alors ? Partir sur un fichier vierge en recopiant mon code et les feuilles existantes dedans (ça va faire du boulot ) ?

    Merci pour vos lumières

  2. #2
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    j'imagine que tu parles des versions Office de tes fichiers qui planteraient

    La solution qui est preconisee ici est de passer tous les elements en Object et de t'affranchir des librairies.

    ftp://ftp-developpez.com/heureuxoli/...ba06/vba06.pdf
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    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 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    il te faut passer en late binding( declaration tardives)

    exemple
    early binding
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set IE as new internet 
    'ou bien encore directement 
    dim IE as new internet
    et late binding

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim IE as object
    set ie=createobject("internetexplorer.application")
    pourquoi/parce que

    visiblement createobject("blablablabla") prend la librairie dispo dans le system dans le quel le code est exécuté sans se soucier la version de celle ci

    faut il bien sur avoir la librairie désignée dans son system

    c'est assez récurrent ce genre d'erreur inexplicable avec excel 2016 tu n'est pas le premier et sans doute pas le dernier
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    C'est la référence à Early Binding et Late Binding je suppose. Je vais lire ça plus attentivement.

    Nos messages se sont croisés.
    Si je comprends bien qu'une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Wbk as Workbook
    Set Wbk = Workbooks.Open(Fichier)
    devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Wbk as Object
    Set Wbk = CreateObject("Excel.Application")
    Wbk.Open(Fichier)
    Je me perds un peu du coup à le traduire...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    Merci pour votre aide.
    Je me suis documenté au sujet des deux notions et me suis aperçu les avoir côtoyées dans le passé sans m'apercevoir de leur portée. Et je les avais donc oubliées par la suite.

    Je vais donc essayer de réécrire la partie du code qui coince pour l'instant. Comme le code travaille avec des objets dans la même application, j'ai vu que la référence à l'application est implicite. Du coup, j'hésite sur la façon d'initialiser mes objets pour ouvrir un classeur Excel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim Wbk as Excel.Application
    Set Wbk = CreateObject("Excel.Workbook")
    Wbk.open(Fichier)
    Est-ce qu'on peut me confirmer que c'est correct ?

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 263
    Points
    34 263
    Par défaut
    Salut,

    Pas exactement, tu ne dois utiliser que des variables de type Object pour celles qui ne seront pas disponibles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim xlApp As Object
    Dim Wbk as Object
    Set xlApp = CreateObject("Excel.Application")
    Set Wbk = Xlapp.Workbooks.open(Fichier)
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 41
    Points : 34
    Points
    34
    Par défaut
    Merci, c'est plus clair maintenant.

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

Discussions similaires

  1. [XL-2007] Erreur chargement de la Dll
    Par ESVBA dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2012, 11h29
  2. erreur '48' : erreur de chargement de la DLL
    Par fiby33 dans le forum Access
    Réponses: 1
    Dernier message: 22/02/2006, 19h45
  3. Erreur de chargement de la dll
    Par laglue dans le forum Access
    Réponses: 4
    Dernier message: 19/12/2005, 13h21
  4. comment résoudre l'erreur ORA-22992
    Par sofian001 dans le forum Oracle
    Réponses: 2
    Dernier message: 05/10/2005, 10h41
  5. [ODP][TAF]Comment résoudre l'erreur TNS-12152 ?
    Par Laurent Dardenne dans le forum Oracle
    Réponses: 2
    Dernier message: 21/04/2005, 19h10

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