Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2011, 09h52   #1
Candidat au titre de Membre du Club
 
Inscription : septembre 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 30
Points : 14
Points : 14
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.
man_coef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 12h40   #2
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
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
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 15h32   #3
Candidat au titre de Membre du Club
 
Inscription : septembre 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 30
Points : 14
Points : 14
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 :
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.
man_coef est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 17h01   #4
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
Bonjour,

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


cordialement,

Didier
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 20h53   #5
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonsoir à toutes et tous,

Citation:
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é.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2011, 23h30   #6
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
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
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2011, 11h17   #7
Candidat au titre de Membre du Club
 
Inscription : septembre 2006
Messages : 30
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 30
Points : 14
Points : 14
Bonjour!

Très bonne remarque :

Code :
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!
man_coef est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h46.


 
 
 
 
Partenaires

Hébergement Web