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 :

Gérer un contrôle additionnel manquant MSCOMCT2.OCX


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Par défaut Gérer un contrôle additionnel manquant MSCOMCT2.OCX
    Bonjour.

    J’ai développé un ptit programme qui nécessite un contrôle additionnel nommé « MSCOMCT2.OCX ».

    Mon problème est que mon fichier est en réseau et qu’il peut être ouvert sur n’importe quel PC même ceux ne possédant pas ce contrôle. Si cela arrive, mon fichier est « cassé » et si on le réouvre sur un PC intégrant bien MSCOMCT2.OCX, c’est trop tard, le mal est fait…

    Comment faire pour gérer ça, pour que le fichier ne se « casse » pas si MSCOMCT2.OCX n’est pas installé ? Est-il possible de faire la vérification à l’ouverture du fichier, de gérer ça avec un , afficher un message d’erreur et quitter le fichier sans le casser ?

    Merci pour votre aide.

    Emmanuel.

  2. #2
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

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

    Je ne pense pas que tu ais d’autres solution que :
    Soit d’installer MSCOMCT2.OCX, fait une recherche sur le forum tu trouveras comment faire

    Soit de supprimer le contrôle de ton projet.


    Bon courage

  3. #3
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Par défaut
    J'ai trouvé une solution. A l'ouverture du fichier, je teste si l'OCX est présent ou pas dans le répertoire system32 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        'TESTER SI LE MODULE COMPLEMENTAIRE EXISTE
        If Dir("C:\WINDOWS\system32\MSCOMCT2.OCX", vbDirectory) = "" Then
            Rep = MsgBox("Message...", vbCritical, "Module complémentaire manquant")
            ThisWorkbook.Close SaveChanges:=False
        End If
    Si le fichier n'existe pas, je mets un message à l'utilisateur pour expliquer comment l'installer.

    Le seul souci c'est si le fichier existe mais n'est pas inscrit dans la base de registre de l'ordinateur (ce qui serait vraiment tordu).

    Merci tout de même pour votre réponse.

    Emmanuel.

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    Méfies-toi si des postes passent en Windows 7, si c'est du 32 bit, le chemin sera différent...


    cordialement,

    Didier

  5. #5
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir à toutes et tous,

    Méfies-toi si des postes passent en Windows 7, si c'est du 32 bit, le chemin sera différent...
    Didier, tu veux dire du 64 bits je pense ?
    J'ai Windows 7 64 bits et effectivement, tu as raison, cet ocx se trouve bien dans le chemin que tu as indiqué (C:\Windows\SysWOW64\).

    Hervé.

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Exact pour l'OS , Hervé

    en fait, je me suis très mal exprimé, je parlais de Windows 7 64 bits avec un office 32 bits

    Du coup tu fais tourner une appli 32 bits sous un OS 64*... et la DLL n'est pas là où l'on peut l'attendre.

    et se trouve effectivement ici :

    Ceci est dû à : WOW64

    http://msdn.microsoft.com/fr-fr/libr...=vs.85%29.aspx

    Mais Windows 7 existe aussi en 32 bits..... pour simplifier les choses

    * ce qui est ma config et probablement la tienne d'après ce que tu indiques...

    cordialement,

    Didier

  7. #7
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 39
    Par défaut
    Bonjour!

    Très bonne remarque :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        'TESTER SI LE MODULE COMPLEMENTAIRE EXISTE
        If Dir("C:\WINDOWS\system32\MSCOMCT2.OCX", vbDirectory) = "" and Dir("C:\Windows\SysWOW64\MSCOMCT2.OCX", vbDirectory) = "" Then
            Rep = MsgBox("Message...", vbCritical, "Module complémentaire manquant")
            ThisWorkbook.Close SaveChanges:=False
        End If
    Merci et bonne journée!

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

Discussions similaires

  1. Microsoft Windows Common Controls-2 6.0 (MSCOMCT2.OCX)
    Par forum dans le forum Contribuez
    Réponses: 30
    Dernier message: 22/03/2019, 10h18
  2. Gérer les contrôles dynamiques sans le ViewState
    Par Etanne dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/02/2012, 14h16
  3. [XL-2003] Formulaires, contrôle dtPicker manquant windows 7
    Par jbelleng dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/07/2011, 14h19
  4. mscomct2.ocx erreur 0x8002801c
    Par bepii dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/04/2010, 18h50
  5. Comment savoir si l'on dispose de MSCOMCT2.ocx
    Par La Zélie dans le forum Excel
    Réponses: 3
    Dernier message: 12/07/2008, 17h53

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