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 :

Références objets VBA pas disponibles par défaut


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut Références objets VBA pas disponibles par défaut
    Bonjour à tous,

    J'ai besoin de l'aide d'experts !

    Nous avons, dans l'entreprise où je travaille, récemment installé Office 2016, "en dur".
    Oui nous sommes très en retard, mais je ne suis absolument pas responsable de ce métro, qui dis-je, de cet Eurostar de retard !
    C'est un marché national, avec la distribution d'un pack d'installation unique pour tous les sites de travail, après des mois de tests côté sécurité et compatibilité avec tous nos différents outils, très nombreux...
    Donc en gros, on est toujours en retard et en local on ne peut presque rien personnaliser. A ce pack s'ajoutent des diffusions de KB successifs pour corriger des bogues.

    La situation qu'est la mienne étant posée :
    Pour faire fonctionner un outil local Excel gavé de macros VBA, il est indispensable pour moi de pouvoir activer une liste précise de "références".
    Elles sont activées par macros, mais elle doivent être disponibles et donc activables au démarrage d'Excel.


    Mon souci : Il me manque deux références dans ma liste "par défaut" de références activables.
    - Microsoft Forms 2.0 Object Library
    - Microsoft Windows Common Controls 6.0 (SP6)

    Je suis donc allé chercher ce qu'il faut pour les ajouter à ma liste de références : FM20.DLL dans Windows\System32 pour ma première référence manquante, et MSCOMCTL.OCX dans Windows\SysWOW64 pour la seconde.

    Je peux alors les activer et les utiliser et tout va bien dans le meilleur des mondes...
    SAUF QUE si je ferme Excel, que j'enregistre ou pas le classeur où je suis aller rechercher mes références, et que je l'ouvre à nouveau, je n'ai plus mes deux références manquantes ! Donc ça ne va pas pour mon outil qui doit pouvoir les activer automatiquement (par macros)...

    J'ai essayé plusieurs solutions trouvées sur le Net :
    - Créer un modèle Classeur.xltx mis dans C:\Users\MONUSIERID\AppData\Roaming\Microsoft\Excel\XLSTART (j'ai même essayé au cas où avec un Classeur.xltm). Mon Excel s'ouvre bien depuis mon .xltx par défaut mais dans mes références. Et cela ne fonctionne pas du tout avec un .xltm
    - utiliser regsrv32 en ligne de commande shell pour enregistrer ma DLL et mon OCX
    - utiliser regsvr32 pour faire du "/u" et du "unregister" puis du "/register"
    - Mettre au moins mon FM20.DLL dans les Add-In (ne fonctionne pas du tout et de toute façon je pourrai pas tenter l'ocx)

    J'ai bien pensé à la base de Registre mais je n'y connais pas grand chose dans ce domaine là, et j'ai peur de faire planter mon ordi de travail si je ne suis pas sûr de ce que je fais...
    Mais j'ai tout de même voulu récupérer les GUID de mes deux références, au cas où, mais là encore j'ai un souci : j'ai testé plusieurs codes VBA qui ne permettent de lister des références activées et récupérer leur GUID, mais aucune de fonctionne sur mon poste ! J'ai les titres et la macro tourne, mais aucun listage de quoi que ce soit à part les titres de colonnes ! Un lien à mon souci ?

    Je connais bien ce super forum que je consulte régulièrement depuis plusieurs années pour m'aider dans mes propres développements de macros VBA.
    J'ai donc appliqué deux critères essentiels à vos yeux : bien dire et bien expliqué le souci, avec précision et un maximum d'éléments... et avant toute demande d'aide : chercher par soi-même !

    Mais là, je sèche vraiment, j'ai fait mon possible (ne suis pas informaticien) et j'ai besoin de vous !

    Comment faire en sorte que mon Excel 2016, peu importe avec quel classeur, affiche Microsoft Forms 2.0 Object Library et Microsoft Windows Common Controls 6.0 (SP6), par défaut, dans la liste des références objets disponibles dans les projets VBA ?

    Merci par avance !

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 339
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 339
    Points : 1 955
    Points
    1 955
    Par défaut
    Salut,

    Je voit 2 cas d'utilisation à différencier:
    1) Cas d'un classeur existant:
    Les références sont-elles cochées dans la liste des références ?

    2) Cas d'un nouveau classeur:
    Les références que tu cites ne font pas partie de celles activées par défaut, à ma connaissance, on ne peut rien y changer.
    Une première solution peut être de créer les nouveaux classeurs à partir d'un template (.xltm) qui incluera les références (ajoute un formulaire contenant un contrôle issu de mscomctl pour être sur de que les références ne "sautent" pas).
    Une seconde solution peut être d'ajouter les références manquantes dynamiquement à l'ouverture du classeur. *WARNING* C'est extrêmement casse-gueule, à tes risques et périls (recherche sur google).

    Update:
    Il y a possibilité de créer un template par défaut.
    Plus d'infos ici: https://support.microsoft.com/en-us/...0is%20selected.

  3. #3
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Salut,

    Je voit 2 cas d'utilisation à différencier:
    1) Cas d'un classeur existant:
    Les références sont-elles cochées dans la liste des références ?

    2) Cas d'un nouveau classeur:
    Les références que tu cites ne font pas partie de celles activées par défaut, à ma connaissance, on ne peut rien y changer.
    Une première solution peut être de créer les nouveaux classeurs à partir d'un template (.xltm) qui incluera les références (ajoute un formulaire contenant un contrôle issu de mscomctl pour être sur de que les références ne "sautent" pas).
    Une seconde solution peut être d'ajouter les références manquantes dynamiquement à l'ouverture du classeur. *WARNING* C'est extrêmement casse-gueule, à tes risques et périls (recherche sur google).

    Update:
    Il y a possibilité de créer un template par défaut.
    Plus d'infos ici: https://support.microsoft.com/en-us/...0is%20selected.
    Bonsoir deedolith et merci pour ton intervention rapide.

    Comme je l'ai exposé, nous sommes quasiment dans le cas numéro 2.
    Je souhaite que mes références manquantes soient listées pour TOUS les classeurs à ouvrir ou nouveaux, même si elle ne sont pas activées. Qu'elles soient au moins dans la liste des références disponibles avec toutes les autres.

    Le template ne m'aidera malheureusement pas (j'y avais pensé aussi ^^), tout comme le "modèle" par défaut en .xltx ou .xltm, comme indiqué également, car cela ne fonctionne pas. Mon Excel s'ouvre bien sur ce modèle, mais pas avec les références que j'ai dû ajouter "manuellement". Et puis de toute façon pas sûr que cela m'aiderait quand mon "outil" Excel dont il est question s'ouvrira et qu'à l'ouverture, par macros, il voudra activer automatiquement 7 références, je crois, dont les 2 qui me manquent. Je ne pars donc pas d'un classeur vierge, qu'il soit issu d'un template ou d'un modèle, mais bien d'un classeur existant...

    Le choix serait donc le "casse-gueule", mais j'imagine que cela veut dire toucher au code VBA de mon fameux "outil" Excel... sauf qu'il vient de l'extérieur et que je n'ai pas la main sur le projet VBA :-(
    De plus, comme toutes les références requises ne sont pas activables, toutes les macros de démarrage se mettent en erreur (et je n'ai pas accès au débogage) et le classeur se ferme...

    Je pencherai donc peut-être sur une modification de la base de registre, non ?
    Car après tout, quand on installe le pack Office, je pense que toutes les références disponibles sont déclarées dedans...

    Mais je reste preneur de toute piste ;-)

    En voilà, un challenge ^^

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 339
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 339
    Points : 1 955
    Points
    1 955
    Par défaut
    As-tu inséré un formulaire issue avec un contrôle issue de mscomctl.ocx dans ton template ?
    L'insertion de ces 2 éléments ajoute automatiquement les références dans le classeur.

  5. #5
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par deedolith Voir le message
    As-tu inséré un formulaire issue avec un contrôle issue de mscomctl.ocx dans ton template ?
    L'insertion de ces 2 éléments ajoute automatiquement les références dans le classeur.
    Bonjour à toi et merci pour cette nouvelle intervention.

    J'ai fait un essai côté formulaire par deux possibilités :
    - par la très limitée fonction "formulaire" directement depuis le bandeau d'accès rapide : cela fonctionne
    - par l'insertion d'un UserForm dans un projet VBA d'un classeur Excel existant : cela fonctionne aussi !

    Dans le second cas, je peux créer et gérer mon UserForm sans souci et... magie... ma référence "Microsoft Forms 2.0" est bien là, en haut de liste, et bien activée !

    J'enregistre et je ferme.
    Je rouvre le fichier, j'ai toujours ma référence présente et même activée (cochée).
    Si j'ouvre une nouvelle session Excel avec un classeur vide, je n'ai de nouveau plus cette référence dans ma liste, même décochée.

    Donc j'imagine qu'il y a juste un souci côté base de registre, pour l'affichage et l'activation sans devoir au préalable créer un UserForm.
    La référence est bien présente et activable, mais juste invisible sans UserForm, en gros...
    Il est donc possible que la référence se déclenche à l'ouverture et à l'exécution des macros de mon fameux outil qui en a absolument besoin.
    A tester plus tard.

    Mais pour l'autre référence, "Microsoft Windows Common Controls 6.0 (SP6)", y a t-il moyen d'utiliser un méthode dans ce genre pour voir si cela s'affiche et s'active tout seul aussi, comme avec la création d'un UserForm avec l'autre référence ?
    J'avoue ne pas être assez au top pour savoir à quoi peut bien servir la référence "Microsoft Windows Common Controls 6.0 (SP6)"...

    Ce que tu appelles un "contrôle issu de mscomctl.ocx", ce sont les boutons de coche et autres contrôles disponibles dans la petite "boîte à outils" qui s'affiche à côté de mon UserForm en mode "View" ?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 339
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 339
    Points : 1 955
    Points
    1 955
    Par défaut
    Citation Envoyé par Electro02 Voir le message
    Ce que tu appelles un "contrôle issu de mscomctl.ocx", ce sont les boutons de coche et autres contrôles disponibles dans la petite "boîte à outils" qui s'affiche à côté de mon UserForm en mode "View" ?
    Non, cet ocx est la référence "Microsoft Windows Common Controls 6.0 (SP6)", qui donne accès aux contrôles avancés tels que ListView, TreeView, DateTime picker, ImageList ect ...)

    Pour tes autres interrogations, je n'ai pas plus de réponse à apporter.

  7. #7
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Non, cet ocx est la référence "Microsoft Windows Common Controls 6.0 (SP6)", qui donne accès aux contrôles avancés tels que ListView, TreeView, DateTime picker, ImageList ect ...)

    Pour tes autres interrogations, je n'ai pas plus de réponse à apporter.
    Merci deedolith.
    Oui c'est vrai que ma situation face à ce Microsoft Forms qui fait le "T'es là ? T'es pas là ? D'où c'est qu't'es ?" (Tiens, ça me rappelle un film ça ) ce n'est pas courant j'imagine. Et pas évident de déterminer la cause...

    Pour l'OCX, j'aimerai tester la même méthode : utiliser une macro qui déclenche cette référence avec au moins une de ces fonctions ?
    Quelqu'un aurait-il ça en stock ? Ou un fichier fonctionnel chez vous qui appelle la référence ?

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 339
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 339
    Points : 1 955
    Points
    1 955
    Par défaut
    Si tu instancies simplement le formulaire ?

  9. #9
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Si tu instancies simplement le formulaire ?
    Ca y'est, tu m'as perdu
    Je n'ai pas le niveau pour comprendre ce que tu me proposes

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 339
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 339
    Points : 1 955
    Points
    1 955
    Par défaut
    Heu ... la base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Frm As Form1    '// Declaration de variable
    Set Frm = New Form1    '// Instanciation

  11. #11
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Heu ... la base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim Frm As Form1    '// Declaration de variable
    Set Frm = New Form1    '// Instanciation
    Pas la base pour moi car personnellement je ne programme jamais de UserForm (jamais eu le besoin encore)

    Donc définir ces variables vont à la fois, en principe, activer Microsoft Forms 2.0 et Microsoft Windows Common Controls 6.0 (SP6) ?

    Alors donc j'essaie. Merci.

    --------

    EDIT :
    J'ai tapé ces deux lignes de commandes dans une nouvelle Sub, dans mon module 1, en faisant référence à un UserForm que j'ai commencé à définir.
    Je n'ai pas de message d'erreur.
    J'ai toujours Forms 2.0 dans mes références, mais toujours pas Win Common Controls 6.0.

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 339
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 339
    Points : 1 955
    Points
    1 955
    Par défaut
    Peut être, à tester.

    Pas la base pour moi car personnellement je ne programme jamais de UserForm
    Ce n'est pas une question de formulaire, mais de classe.

    L'instanciation d'une classe se fait via l'opérateur New, ce qui génère une instance de la classe, on parle alors d'Objet de la classe (ou plus simplement d'Objet).
    Je pense que tu as déjà du entendre parler des objets, la bibliothèque standard de VBA propose la collection.
    La bibliothèque d'Excel propose également une pléthore de classes, mais la pluspart d'entre eux sont déja instancié (Workbooks, Worksheets, Range, Cells ect ect ...).
    Tu peux voir la définitions de ces classes dans l'IDE (des quelles méthodes / propriétés elles sont composées), via l'explorateur d'objets.

    Que ce soit un formulaire, une collection ou toute autre classe, le processus reste identique:
    - Déclaration
    - Instanciation.
    Seul le type change.

  13. #13
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Peut être, à tester.

    Ce n'est pas une question de formulaire, mais de classe.

    L'instanciation d'une classe se fait via l'opérateur New, ce qui génère une instance de la classe, on parle alors d'Objet de la classe (ou plus simplement d'Objet).
    Je pense que tu as déjà du entendre parler des objets, la bibliothèque standard de VBA propose la collection.
    La bibliothèque d'Excel propose également une pléthore de classes, mais la pluspart d'entre eux sont déja instancié (Workbooks, Worksheets, Range, Cells ect ect ...).
    Tu peux voir la définitions de ces classes dans l'IDE (des quelles méthodes / propriétés elles sont composées), via l'explorateur d'objets.

    Que ce soit un formulaire, une collection ou toute autre classe, le processus reste identique:
    - Déclaration
    - Instanciation.
    Seul le type change.
    Ah oui ok. Merci pour ce petit cours de rattrapage.

    Oui les Workbooks, Worksheets, Range, Cells, etc. Je connais. Et les Set MaVariable as Object aussi, pour les utiliser au besoin.

    Désolé, je suis quasi-autodidacte sur le VBA, ce n'est (à mon grand regret) pas mon métier, je connais très très de personnes avec qui j'en parle, et je ne programme qu'à l'occasion.
    Je fais des trucs parfois bien complexes, avec le temps qu'il faut, mais je ne pas forcément au fait des termes adéquats
    Je progresse toujours et j'essaie d'apprendre par moi-même et d'apprendre de mes erreurs, mais ce n'est pas toujours simple.

    Ce que je connais le moins, car je ne m'en sers pas, c'est le monde des UserForms.

    Pour en revenir à mon souci :
    - j'ai bien, quand je créé un UserForm, Microsoft Forms 2.0 qui s'affiche et qui s'active tout seul.
    - quand je déclare une variable au format "Form" et que j'instancie, donc, avec un set, cela laisse activé mon Microsoft Forms 2.0, et je n'ai pas de message d'erreur, mais je n'ai toujours pas de référence Microsoft Windows Common 6.0 (SP6).

    En dehors de ce Dim et de ce Set, dois-je tester quelques autres lignes de commandes, un petit routine, pour voir s'il y a des fonctions qui se bloquent ou ce Windows Common 6.0 qui s'active tout seul lui-aussi ?
    Je ne sais pas exactement ce que permet de faire la référence Microsoft Windows Common 6.0 (SP6)...

  14. #14
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    re !

    J'ai peut-être un début de réponse en fouillant un peu plus le Web.

    Il y a un souci avec le MSCOMCTL.OCX, qui es tantôt sous System32, tantôt sous SysWOW64.
    De ce que j'ai compris, avec Excel 2016, on passe à une installation en 64bits par défaut, mais l'OCX ne serait pas passé en 64bits avant la version 2019 d'Office.
    En gros, soit tu restes en 2010 ou 2013, 32bits, soit tu sautes directement à au moins v2019 en 64bits.
    Ou alors, on doit forcer l'installation d'Excel 2016 en 32bits.

    Pas de bol pour moi, je n'ai pas la main sur les installations d'Office là où je travaille (c'est un pack identique diffusé sur tous les sites de travail du territoire), et je n'ai pas la main non plus sur le fichier Excel gavé de macros qui fait appel à Microsoft Windows Control 6.0 (SP6).
    Je ne peux pas accéder à son code VBA et l'éditer (de toute façon pas le droit non plus), pour remplacer les "listview" par des "listbox".
    Sachant qu'à l'instant même où j'écris j'ai lu ça, je ne sais pas exactement la différence entre les deux et ce que c'est précisément, vu que je ne programme pas des UserForms... (oui je sais si je cherche je trouve ^^).

    A moins de réussir à faire changer mon installation d'Office par mon Service Informatique, ne serais-je donc pas dans une impasse ?

  15. #15
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 339
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 339
    Points : 1 955
    Points
    1 955
    Par défaut
    Pour faire simple:
    ListBox et ListView sont des contrôles de formulaire.
    ListBox est une liste de valeurs multilignes et multicolonnes où tu peux sélection une ou plusieurs lignes.
    ListView est une grille, qui reprend les fonctionnalités du contrôle ListBox et offre en plus la possibilité de sélectionner une cellules.

    Revenons à nos moutons:
    Ton "template" doit charger la bonne version de l'ocx mscomctl.
    Mais si les instanciations échouent, je n'ai pas de solution supplémentaire.

  16. #16
    Membre régulier
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 286
    Points : 91
    Points
    91
    Par défaut
    Bonjour,

    Pour faire fonctionner un outil local Excel gavé de macros VBA, il est indispensable pour moi de pouvoir activer une liste précise de "références".
    Elles sont activées par macros, mais elle doivent être disponibles et donc activables au démarrage d'Excel.


    peux tu dire comment faire ceci ?

    Merci.

  17. #17
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par rossemma Voir le message
    Bonjour,

    Pour faire fonctionner un outil local Excel gavé de macros VBA, il est indispensable pour moi de pouvoir activer une liste précise de "références".
    Elles sont activées par macros, mais elle doivent être disponibles et donc activables au démarrage d'Excel.


    peux tu dire comment faire ceci ?

    Merci.
    Bonjour rossemma.

    Non je ne peux pas te dire car perso je ne sais pas faire.
    J'ai pourtant bien expliqué que cela se fait avec un fichier que je n'ai pas programmé et pour lequel je n'ai pas accès au code VBA...

  18. #18
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par deedolith Voir le message
    Pour faire simple:
    ListBox et ListView sont des contrôles de formulaire.
    ListBox est une liste de valeurs multilignes et multicolonnes où tu peux sélection une ou plusieurs lignes.
    ListView est une grille, qui reprend les fonctionnalités du contrôle ListBox et offre en plus la possibilité de sélectionner une cellules.

    Revenons à nos moutons:
    Ton "template" doit charger la bonne version de l'ocx mscomctl.
    Mais si les instanciations échouent, je n'ai pas de solution supplémentaire.
    Merci pour les explications.

    Pour l'instanciation, le pire, c'est que ça n'échoue pas ! Quand je fais ton Set Frm = New Form1 et que je lance la macro, je n'ai aucun message d'erreur.
    Mais ce n'est pas pour autant que je vois la référence Microsoft Windows Control 6.0 (SP6) dans la liste des références actives après lancement.

    Je ne comprends pas. Si l'ocx ne charge pas ou n'est pas trouvé, je devrai avoir un message d'erreur... et là non...

    Est-ce que tu as des exemples de commandes/fonctions ou je ne sais quoi liées exclusivement à mscomctl.ocx, afin que je vois si elles existent de base dans mon explorateur d'objets ?
    Je pense que je devrais vérifier de ce côté...

  19. #19
    Membre régulier
    Homme Profil pro
    Divers
    Inscrit en
    Février 2017
    Messages
    286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Divers

    Informations forums :
    Inscription : Février 2017
    Messages : 286
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Electro02 Voir le message
    Bonjour rossemma.

    Non je ne peux pas te dire car perso je ne sais pas faire.
    J'ai pourtant bien expliqué que cela se fait avec un fichier que je n'ai pas programmé et pour lequel je n'ai pas accès au code VBA...

    Pas grave, merci quand même

  20. #20
    Futur Membre du Club Avatar de Electro02
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel

    Informations forums :
    Inscription : Avril 2018
    Messages : 36
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par rossemma Voir le message
    Pas grave, merci quand même
    Vraiment désolé.
    Peut-être un jour ^_^

    Sinon lance un nouveau sujet et demande aux experts... Oo peut-être que les infos utiles ont déjà été demandées (commencer par là) ;-)

Discussions similaires

  1. Rendre un obstacle n'est pas traversé par un objet en ActionScript3! comment faire???
    Par Jony Bernard dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 16/09/2016, 03h07
  2. Réponses: 1
    Dernier message: 11/05/2016, 16h25
  3. [PPT-2007] Utiliser du code VBA sur plusieurs objets et pas qu'un seul
    Par beegees dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 25/03/2010, 09h55
  4. Réponses: 2
    Dernier message: 08/02/2007, 10h20
  5. Réponses: 1
    Dernier message: 25/10/2006, 11h13

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