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

VBA Access Discussion :

Référence rompue supprimer dll


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Par défaut Référence rompue supprimer dll
    Bonjour,

    j'ai une outil Access interfacé avec Visio.
    Sur mon formulaire principal, je dispose de plusieurs boutons dont 1 qui permet de s'interfacer avec Visio.
    Mes utilisateurs ne disposent pas tous de Visio.
    ce que je voudrais c à l'ouverture de l'outil tester la référence de la dll avec la propriété isBroken et si oui, la supprimer puis désactiver le bouton. POur cela j'ai créé la macro autoexec qui appelle la fonction suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Public Function test_exist_dll()
     
    Dim i As Integer
     ' On test les liens des références pour supprimer les liens cassés
                For i = 1 To Application.References.Count
                    If Application.References(i).IsBroken Then                
                            Application.References.Remove Application.References(i)
                            dll_Visio = False
                    End If     
                Next
    End Function
    Là je rencontre l'erreur suivante : "Bibliothèque d'objets non enregistrée" sur l'appel de la méthode Remove.
    Comment faire alors pour supprimer une dll dont le lien est cassé avec du VBA ?

    Une fois la dll supprimée, le code contenant des appels à Visio n'ets jamais appelé (boutons désactivés). Pourtant Access compile le module du formulaire ainsi que les procédures et focntions appelées donc du coup il me dit "Projet ou bibliothèque introuvable". Y'a-t-il un moyen pour éviter cela ?

  2. #2
    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,
    autre approche que la boucle for i

    dans l'idée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim tempoRef As Reference
    For each tempoRef In ...
    If ... Then
    References.Remove tempoRef 
    End if
    Next
    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

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Par défaut
    Non, ça ne marche pas non plus
    Merci quand même

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    as-tu bien coché la référence
    Microsoft Visual Basic for Application Extensibility
    avant de tester ?

    Edit : après avoir coché la référence soulignée , essaye :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = Access.References.Count To 1 Step -1
       If References.Item(i).IsBroken Then
           Access.References.Remove References.Item(i)
        End If
      Next i
    EDIT : je ne sais pas si tout celà fonctionne sans bug pour les versions inférieures à Office 2003 ...

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Par défaut
    J'ai toujours une erreur "Bibliothèque d'objets non enregistrés" sur l'appel à Remove !! Tant pis je vais dire à mes utilisateurs de vérifier qu'ils ont bien la dll avant d'utiliser l'outil

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

Discussions similaires

  1. [XL-2010] Erreur DLL dans une référence à supprimer
    Par ateppaz dans le forum Excel
    Réponses: 4
    Dernier message: 18/06/2015, 11h11
  2. [Débutant] Problème référence Microsoft.Sharepoint.DLL
    Par saxophtrion dans le forum Visual Studio
    Réponses: 1
    Dernier message: 09/05/2012, 16h09
  3. référence rompue ou incomplète
    Par sebac dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/05/2008, 10h22
  4. Utilisations croisés de références vers des dll
    Par Pilloutou dans le forum Framework .NET
    Réponses: 3
    Dernier message: 05/11/2006, 21h56
  5. dll et référence
    Par moldavi dans le forum C++
    Réponses: 4
    Dernier message: 17/05/2005, 15h08

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