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 :

Boutons ActiveX ne fonctionnent plus


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 23
    Points : 26
    Points
    26
    Par défaut Boutons ActiveX ne fonctionnent plus
    Bonjour,

    Sur un certain nombre de fichiers, nous avons placés des contrôles ActiveX. Depuis la mise à jour de la sécurité de décembre de Windows MS14-82, les boutons ne fonctionaient plus.

    Nous avons alors trouvé le MicrosoftFixit51029.msi qui efface les fichiers exd des profils utilisateurs.

    Pour certains fichiers cela a résolu le problème. Par contre, nous avons un problème récurrent avec un seul fichier.

    Nous avons refait le fichier entièrement en important toutes les feuilles, sauf celle avec les boutons, refait la feuille avec les boutons entièrement à neuf et importé les n modules VBA, redéclaré toutes les références et enregistré le fichier. Le fichier a été testé et il fonctionnait sans problème.

    Deux jours plus tard, nous ouvrons à nouveau le fichier. Les boutons ne fonctionnent plus.

    MS Excel a manifestement recréé les boutons (par exemple le bouton Config au lieu de s'appeler cmdConfig s'appelle CommandButton1). Lors du débogage le système affiche
    Bibliothèque d'objets incorrecte ou contenant des références à des définitions d'objets introuvables
    . Cette erreur est normale, car le système cherche l'objet cmdConfig. Par contre, lorsque je veux renommer le bouton CommandButton1 en cmdConfig, je reçois
    Nom ambigu détecté
    .

    Manifestement, le système maintient une liste cachée des objets contenus dans le classeur.

    Si quelqu'un a une idée comment afficher cette liste ou nettoyer le classeur, je suis preneur.

    Refaire le classeur entièrement à neuf demanderait environ plus d'une semaine de travail.

    Merci

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    Ne pourrais-tu pas utiliser des contrôles formulaire ou tout simplement des formes dont tu peux changer les propriétés au besoin.
    Il te suffirait d'affecter à ces formes les noms de Sub que tu as déjà créées, par exemple cmdConfig_Click()

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 23
    Points : 26
    Points
    26
    Par défaut Absolument raison mais...
    Salut,

    C'est exactement ce que nous allons entreprendre, mais bêtement, j'avais suivi à l'époque les conseils de Microsoft qui préconisaient l'abandon des contrôles de formulaires pour les active X, avec plus ou moins comme motif que ces contrôles de formulaires seraient abandonnés dans les versions ultérieures.

    De plus les ActiveX proposent plus de méthodes et de propriétés que les contrôles de formulaires...

    mais merci du conseil...

  4. #4
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Bonjour,

    Citation Envoyé par jfchappuis Voir le message
    mais bêtement, j'avais suivi à l'époque les conseils de Microsoft qui préconisaient l'abandon des contrôles de formulaires pour les active X, avec plus ou moins comme motif que ces contrôles de formulaires seraient abandonnés dans les versions ultérieures.
    Alors, ignorant que je suis, tu m'apprends belle et bien quelque chose !
    Je vais regarder de suite, parce que, par habitude, j'utilise les Contrôles de formulaires.

    Citation Envoyé par jfchappuis Voir le message
    De plus les ActiveX proposent plus de méthodes et de propriétés que les contrôles de formulaires...
    Je rebondis, juste sur cela. Sauf erreur de ma part, lorsqu'on parle de bouton, je visualise mal ce qu'un composant ActiveX apporte de plus que l'affectation d'une macro à un contrôle de formulaires.
    Pour ma part, n'ayant pas envie de "m'embêter" (c'est un bien grand mot, entendons-nous la dessus ! ) avec le nom de mes macros, je préfère leur assigner celle que je souhaite, et par conséquent, changer la fonctionnalité de mes boutons seulement par affectation.

    Cordialement,
    Kimy

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Points : 3 666
    Points
    3 666
    Par défaut
    Bonjour,

    Parfois (souvent) on est aussi obligé de supprimer les maj pour retrouver un fonctionnement normal d'excel :
    Mise à jour de sécurité pour Microsoft Office 2007 ( KB2596927 )
    Mise à jour de sécurité pour Microsoft Office 2010 ( KB2553154 )
    Mise à jour de sécurité pour Microsoft Office 2013 ( KB2726958 )

    A essayer, mais verra-t-il ces contrôles fantômes ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test()
        Dim Obj As OLEObject, sh As Worksheet
        For Each sh In Worksheets
            For Each Obj In sh.OLEObjects
                If MsgBox("supprimer " & TypeName(Obj.Object) & " " & Obj.Name & " de " & Obj.Parent.Name, vbQuestion + vbYesNo) = vbYes Then Obj.Delete
            Next Obj
        Next sh
    End Sub
    Tiens nous au courant. Et par curiosité sur quelle version d'excel ?
    eric

  6. #6
    Expert éminent sénior
    Avatar de kiki29
    Homme Profil pro
    ex Observeur CGG / Analyste prog.
    Inscrit en
    Juin 2006
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ex Observeur CGG / Analyste prog.

    Informations forums :
    Inscription : Juin 2006
    Messages : 6 132
    Points : 11 272
    Points
    11 272
    Par défaut
    Salut, bis repetita placent ..... commence par supprimer TOUS les fichiers *.exd : voir Suppression fichiers ~$* et *.exd

    Déjà en Avril 2012 : ici

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 23
    Points : 26
    Points
    26
    Par défaut XL 2010
    Bonjour,

    Version Excel 2010 - centralisée sur Citrix Farm (environnement d'entreprise de plus de 10'000 postes de travail multilingues), cela veut dire aucune possibilité de supprimer les mises à jour.

    Le moins drôle est que lorsque j'essaie de supprimer les Active X, Excel provoque une violation vu que la liaison entre le code et le bouton manque et que Excel contrôle en permanence sa bilbiothèque interne d'objets. La seule solution est de recréer le fichier et contrairement à ce que je dis, j'ai d'autres fichiers endommagés (plus d'une centaine...) Merci Microsoft....


    La suppression par code des objets fantômes est une excellente idée, jusqu'à ce que VBA donne comme erreur "La méthode Delete de l'OLEObject a échoué.."

  8. #8
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Pour supprimer tes contrôles ActiveX, il te faudra peut-être démarrer Excel en mode sans échec.
    À essayer en ouvrant Excel en maintenant la touche Ctrl enfoncée.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 23
    Points : 26
    Points
    26
    Par défaut Suppression des fichiers EXD
    Salut,

    Sur mon poste et le poste de mon collègue, j'ai supprimé vendredi matin tous les fichiers EXD locaux, avant de démarrer quelque application Office que ce soit.

    Après le démarrage l'ouverture d'un classeur Excel avec ActiveX, le fichier EXD est créé automatiquement.

    Ce matin, mon collègue met à jour un fichier sur Intranet et le fichier se corrompt...

    Je vais passer ces Boutons ActiveX en des Boutons de formulaire en priant que Microsoft n'aie pas de nouvelles bonnes idées.....

    Le démarrage en mode sans échec ne fonctionne pas, j'avais commencé par cette Action.

    Merci à tous de votre Aide.

  10. #10
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut Office 2010
    Bonjour j'ai exactement le même problème sur 3 pcs, et je n'arrive pas à en être maître.

    Nettoyages effectués
    Tous les fichiers *.exd ont été supprimé et le SP2 de Office2010 à été appliqué si pas déjà.
    Les pCs ont été rebootés de multiples fois et le nettoyage de *.exd fait dans les rêgles de multiples fois.


    Symptôme :
    PC 1 : (Le mien). Semble normal en apparence. Certaines applications Excel ne fonctionnent plus au niveau des actions buttons. dans ce cas, je copie toutes les feuilles et les userforms vers une nouveau fichier, copie le code... et ça repart. Si le PC2 ouvre l'application et la sauve, tout est à refaire. Les actions Button ne donnent plus rien, et via le VBA, ils mélange les noms de boutons et leur code.
    PC 2 : Pour lui tout semble fonctionner, mais lui seul peut ouvrir tous les fichiers excels avec des actions buttons et les utiliser normallement.
    PC 3 : C'est la cata. Impossible de cliquer sur un quelconque bouton d'action et impossible d'en insérer un nouveau.

    j'ai tout essayé, et je commence à tourner fou.

    Le problème était déjà survenu en décembre 2014 après un update, et il avait suffit de supprimer les *.exd pour corriger.
    Ici rien ne fonctionne.

    Pour tous les autres pc de la société, pas de problème déclaré !!

    Si, quelqu'un à une solution viable, je suis preneur....

    Merci d'avance.

  11. #11
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Points : 5 901
    Points
    5 901
    Par défaut
    Bonjour,

    As-tu essayé de faire une réparation dans le panneau de configuration ?
    As-tu essayé un des FixIt de Microsoft ? Il y en a tellement que je ne sais plus lequel fait le bon fix, mais bon... en cherchant peut-être ?

  12. #12
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Oui, j'ai aussi essayé la réparation et tous les fix de Microsoft que j'ai trouvé.

    Sans effet.

    Mais je vais encore chercher de ce côte.

    Quelle cata

  13. #13
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Points : 3 666
    Points
    3 666
    Par défaut
    Bonjour,

    tu as essayé en désinstallant les maj fautives ?
    eric

  14. #14
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Même si j'arrive un peu tard, je suis tombé sur le même problème dans la (grosse) société où je travaille.

    Office 2010 était installé et Office Communicator a été remplacé par Lync. Et Lync a une version 2013.
    Il y a donc un mix de version Office 2010 et 2013.

    Il semble que Microsoft ait une solution car, du jour au lendemain, le problème a été résolu.
    Je n'ai malheureusement pas de vue sur ce qui a pu être modifié. La gestion du parc informatique étant faite à partir de la Pologne ou la Roumanie...

    Autre cas de problème rencontré:
    Fichier créé sous 2003 (xls), modifié sous 2010 et réutilisé sous 2003.
    Solution: Sauver en xlsm pour autant que le convertisseur soit installé sur les postes encore équipés de 2003.

    J'espère que ces pistes pourront en aider certains.

Discussions similaires

  1. Bouton radio ne fonctionne plus en réduisant la largeur de la page
    Par vince29 dans le forum Mise en page CSS
    Réponses: 13
    Dernier message: 20/02/2015, 08h54
  2. [PC portable] HP 6730s bouton wifi ne fonctionne plus
    Par wodel dans le forum Ordinateurs
    Réponses: 5
    Dernier message: 17/12/2013, 23h23
  3. A cause de quoi le bouton js ne fonctionne plus ?
    Par Invité dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/06/2011, 14h15
  4. bouton 3dmax8 ne fonctionne plus
    Par francki.b dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 17/01/2008, 21h23
  5. Le bouton de mise en veille de fonctionne plus
    Par koKoTis dans le forum Windows XP
    Réponses: 21
    Dernier message: 11/06/2007, 08h07

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