GUID - Version Microsoft Windows common control-2 6.0

JudRos Messages postés 4 Date d'inscription mercredi 14 mars 2012 Statut Membre Dernière intervention 6 avril 2012 - 4 avril 2012 à 12:16
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 6 avril 2012 à 08:14
Bonnjour le Forum,

Je suis en train de perdre mes cheveux à vue d'oeil.. J'ai un gros souci de chargement des bibliothèques d'Excel.
Voilà mon souci: j'ai développé une application qui permet entre autre de saisir des données et de récupérer des stats.
Mon souci est que je dois mettre cette aplication en réseau et suivant les PC utilisés, les versions d'Excel et les bibilothèques personnelles des utilisateurs il faut que je m'assure d'avoir tout ce qui est nécessaire au non fonctionnement de ma macro...
J'ai donc récupéré les GUID des ressources qui sont sur mon PC et dont j'ai besoin, pour les Ajouter à chaque ouverture du fichier:
Recherche:

For Each ref In ThisWorkbook.VBProject.References
MsgBox ref.Name & Chr(10) & ref.fullpath & Chr(10) & ref.GUID
Next ref


Ajout de la ressource:
'ajoute toutes les références nécessaires au bon fonctionnement du programme
'x = "C:\Program Files\Common Files\Microsoft Shared\Web Components\11\OWC11.dll"
'ThisWorkbook.VBProject.References.AddFromFile x  'ou addfromguid (plus fiable que le chemin)

With ThisWorkbook.VBProject.References
Set ref = .AddFromGuid("{000204EF-0000-0000-C000-000000000046}", 0, 0)  'VBA
Set ref = .AddFromGuid("{00020813-0000-0000-C000-000000000046}", 0, 0)  'Excel
Set ref = .AddFromGuid("{00020430-0000-0000-C000-000000000046}", 0, 0)  'stdole
Set ref = .AddFromGuid("{0002E558-0000-0000-C000-000000000046}", 0, 0)  'OWC11
Set ref = .AddFromGuid("{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}", 0, 0)  'Office
Set ref = .AddFromGuid("{0D452EE1-E08F-101A-852E-02608C4D0BB4}", 0, 0)  'MSForms
Set ref = .AddFromGuid("{00024517-0000-0000-C000-000000000046}", 0, 0)  'REF EDIT
Set ref = .AddFromGuid("{8E27C92E-1264-101C-8A2F-040224009C02}", 0, 0)  'MSACAL CALENDRIER
Set ref = .AddFromGuid("{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}", 0, 0)  'MSCOMCTL2

End With


Mon souci est sur la référence: Set ref = .AddFromGuid("{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}", 0, 0) 'MSCOMCTL2

Sur mon ordinateur j'ai comme désignation Microsoft Windows Common Control-2 6.0 (FP3).

sur un second PC j'ai après avoir effectué le chargement comme indiqué ci dessus en ouverture de la macro:
Microsoft Windows Common Control-2 6.0 (FP6).

Sur un troisième PC la référence se met comme manquante...

Et dans ces deux cas la macro ne veux pas se lancer...."Bibliothèque d'objets incorrecte ou contenant des références à des définitions d'objects introuvables"


Quelqu'un pourrait m'aider sur des pistes de recherche pour réussir à prévoir tout type de configuration et ainsi faire fonctionner mon application sur n'importe quel ordinateur....

Merci beaucoup à tous pour vos petits neurones...
A voir également:

9 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
4 avril 2012 à 12:26
te faut registrer

C:\WINDOWS\system32\MSCOMCT2.OCX

Renfield - Admin CodeS-SourceS - MVP Visual Basic & Spécialiste des RegExp
0
JudRos Messages postés 4 Date d'inscription mercredi 14 mars 2012 Statut Membre Dernière intervention 6 avril 2012
4 avril 2012 à 14:17
Bonjour Renfield,
Merci pour ont retour si rapide!

J'ai chargé sur mon PC et le second PC (celui qui indique une version SP6) le composant en recherchant l'adresse:
C:\winnt\system32\mscomct2.ocx.... sur les 2 PC j'ai ajouter les références via ce même chemin d'accès.

Et sur mon PC j'ai la version SP3 et sur le second PC j'ai SP6.....

Du coup j'ai souhaité paser par les GUID afin d'être sûr des références chargées.
Sur chacun des PC j'ai fait la même manip: rechercher les références chargées et leur GUID, puis vérifier les noms pour valider qu'ils sont bien identiques.
Le résultat c'est que j'ai toujours cette différence de version et que je ne sais plus où donner de la tête...

Il est possible que cette différence ne soit pas la cause de mon souci.
J'ai remarqué quelque chose d'inhabituel lors de l'ouverture du ma macro sur le second PC:
Lors de l'ouverture j'active les macro puis le message d'erreur "Bibliothèque d'objets incorrecte ou contenant des références à des définitions d'objets introuvables". s'affiche directement.

Je clic sur OK, puis je veux aller dans d'Editeur VBA, et lors que je veux ouvrir mon Userform le message d'initialisation des ActivX s'affiche.
Normalement il s'affiche dès l'activation des macros.... est ce que cela pourrait vous aider dans la conpréhension de mon souci??

Help.....

Merci en tout cas!
0
Utilisateur anonyme
4 avril 2012 à 17:20
Bonjour,

La première chose est de t'assurer que tous les PC ont une ou ont eu une version légale de VB6 installée. À l'époque les contrôles de VB6 ont été "bloqués" par Microsoft pour qu'ils ne soient utilisables que dans VB ou dans des programmes compilés et destinés à être distribués.

Si tes contrôles sont en règle, je pense que tu pourrais trouver les SP de VB6 dans le centre de téléchargement de Microsoft, parce que Microsoft a étendu de quelques nouvelles années le support pour VB6.

Ensuite, tu installes le SP6 (encore que je pense que le dernier SP de VB6 était le 5) sur toutes les machines.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 avril 2012 à 18:49
Bonjour,

Il est vrai que JudRos a ouvert sa discussion dans la section
Forum > VB.NET et VB 2005

Son outil de développement est toutefois VBA (le VBA de Excel) et il estr confronté à un problème de références à cocher et de la validité de ce à quoi elles se réfèrent.
deux questions :
- L'enregistrement demandé par Renfield at-il été fait ?
- quel est le système d'exploitation des machines où cela ne marche pas ? et en combien de bits ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JudRos Messages postés 4 Date d'inscription mercredi 14 mars 2012 Statut Membre Dernière intervention 6 avril 2012
5 avril 2012 à 10:04
Bonjour, et merci de votre aide!!

Alors tout les PC sont des PC avec des version légal (je suis en entreprise....).
Ensuite j'ai vérifié les références de plusieurs facon, par macro pour afficher les chemins d'accès, les adresse GUID et les désignation, tout est OK, les versions sont les mêmes à l'exeption de mscomct2.ocx qui est en SP6 au lieu de SP3 sur mon PC.
Mais finalement je ne pense pas que ce soit cela la base de mon souci.
En effet après vérification sur un AutrePC sur lequel l'application fonctionne sans souci c'est aussi la version SP6 qui est chargée (mon PC doit juste être avec une version antérieur mais cela ne pause a prioris pas de souci).

Du coup toutes mes recherches repartent à 0..... et on reprend.
J'ai par contre trouvé autre chose de curieux sur un PC avec le quel je n'arrive toujours pas à lancer mon application:

Lors que je suis dans l'Editeur vba, si je double clic sur certain controle pour voir le code associé tout est ok, par contre sur d'autre le message d'erreur "Bibliothèque incorrect... "apparait....

Mon application se compose de 2 UserForms. Le premier avec un "Multipage" qui permet de voir différents types de statistiques et une page avec des commandbutton qui permettent d'afficher le second Userform de saisie.
C'est ce second Userform qui ne fonctionne pas.
Tout les controles du premier Userform fonctionnent, par contre sur le second Userform de saisie aucun n'est reconnu....

D'où cela pourrait il venir? Vers quoi je dois porter ma recherche?


PS: désolée pour l'emplacement de mon post, j'ai eu un peu de mal à trouver dans quel forum le mettre, si je veux le déplacer dans le bon forum comment on fait??? (si c'est possible!)

encore merci à vous!!!
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
5 avril 2012 à 10:24
Tu n'as pas répondu aux deux questions que je t'ai posées !
Pour mémoire :
- L'enregistrement demandé par Renfield at-il été fait ?
- quel est le système d'exploitation des machines où cela ne marche pas ? et en combien de bits ?

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Utilisateur anonyme
5 avril 2012 à 16:54
Bonjour,

Peut-être devrais-tu penser à remplacer tes contrôles externes par des fonctions internes de VBA.

Et puis, quel contrôle veux-tu utiliser ?

Et finaalement, comme nous ne savons rien des machines en cause.

Vérifie cela, d'un coup...
0
JudRos Messages postés 4 Date d'inscription mercredi 14 mars 2012 Statut Membre Dernière intervention 6 avril 2012
6 avril 2012 à 08:01
Bonjour,

Oui j'ai essayé d'enregristrer ma version de la référence sur un PC qui ne fonctionne pas avec le set up suivant:

La référence qui n'était pas a la bonne version est :mscomct2.ocx (elle sert notament pour des contrôles comme les barres de progressiosn, les treeview, des contrôles un peu spécifique en somme)
ren %SYSTEMROOT%\system32\mscomct2.ocx mscomct2.ocx.old
xcopy mscomct2.ocx %SYSTEMROOT%\system32 /C /Y /F /R /I /D /E
regsvr32.exe mscomct2.ocx


Petite manip pour ceux qui seront interessés:
Il faut copier ce texte dans un bloc note, changer l'extention en ".cmd" et positionner ce fichier au même endroit que la référence que vous souhaitez mettre en place.
Ce Script est a lancer à la première utilisation, elle mettera l'ancienne version en "_old" et mettera en place la nouvelle version.

Pour ma part, je ne peux pas faire cette manipulation car je ne suis pas Admin de mon PC et les PC sur lesquels mon application va devoir fonctionner les personnes ne seront pas non plus Admin.... Politique d'entreprise....

La solution que je pourrait appliquer c'est simplement de demander aux utilisateurs de s'assurer qu'ils ont les bon outils sur leur PC.

Pour ce qui est des PC sur lesquels mon Appli devra fonctionner sont un peu tous différents... certain sojnt sous Windows7, d'autre sous XP.
UcFoutu, qu'entends tu par "En combien de bit"? tu parle dela mémoir des PC?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 avril 2012 à 08:14
UcFoutu, qu'entends tu par "En combien de bit"? tu parle dela mémoir des PC?


hé bé !
Va donc sur gougoumachin et frappe windows 64 bits.

____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
Rejoignez-nous