OVH Cloud OVH Cloud

Souci userform

6 réponses
Avatar
Sébastien JACKY
Suite au didacticiel présent sur faqword.free.fr au sujet des userform, je
me suis inspiré de celle proposée pour créer un modèle de document qui
demande certains renseignements pour créer une télécopie.

J'ai complètement fini mon document, ainsi que toute la programmation VBA,
et cela marche parfaitement sur mon poste.
Mais au moment de diffuser le doc à mes collègues, patatra, des messages
d'alerte Microsoft Forms s'affichent avec pour contenu "Impossible de
charger le objet car il n'est pas disponible sur cette machine". Cela ouvre
du coup VBA et bloque sur une ligne du code.
Quand j'observe la userform, elle ne contient pas le contrôle microsoft date
and time picker 6.0 que j'ai mis dans le modèle.

Je tiens à préciser que les deux PC ont la même configuration, Win XP pro
avec Word 2003.

Pouvez-vous m'aider à déblouqer le problème SVP ?

6 réponses

Avatar
Clément Marcotte
Faut installer VB6 sur tous les postes. DTPicker n'est pas un contrôle
Office mais un contrôle VB6. Ou bedon tu te fais un contrôle ActiveX
DTPicker2 dans VB6, tu le compiles, et tu installes ton nouveau contrôle sur
tous les postes.


"Sébastien JACKY" a écrit dans le message de
news:
Suite au didacticiel présent sur faqword.free.fr au sujet des userform, je
me suis inspiré de celle proposée pour créer un modèle de document qui
demande certains renseignements pour créer une télécopie.

J'ai complètement fini mon document, ainsi que toute la programmation VBA,
et cela marche parfaitement sur mon poste.
Mais au moment de diffuser le doc à mes collègues, patatra, des messages
d'alerte Microsoft Forms s'affichent avec pour contenu "Impossible de
charger le objet car il n'est pas disponible sur cette machine". Cela
ouvre du coup VBA et bloque sur une ligne du code.
Quand j'observe la userform, elle ne contient pas le contrôle microsoft
date and time picker 6.0 que j'ai mis dans le modèle.

Je tiens à préciser que les deux PC ont la même configuration, Win XP pro
avec Word 2003.

Pouvez-vous m'aider à déblouqer le problème SVP ?







Avatar
Sébastien JACKY
Merci pour votre réponse rapide. Je suis une peu embêté car je n'ai pas
installé VB6 sur mon poste.
En regardant de plus près sur mon poste c'est en cliquant dans la boîte à
outils / contrôles supplémentaires / microsoft Date and Time Picker Contol
6.0 (SP6)
S'agit-il peut-être d'un patch ou d'un autre logiciel ? Peut-être Visual
Studio (qui est installé sur ma machine) ?

De plus comme je n'ai pas visual basic 6.0 (ni une autre version), je ne
peux pas me faire de contrôle ActiveX.

Au pire, existe-t-il un autre contrôle qui permet de séléctionner une date
et qui serait présent "de série", car pour reprendre l'exemple du
didacticiel sur Faq.free.fr, je ne dispose pas du contrôle "calendrier".


Faut installer VB6 sur tous les postes. DTPicker n'est pas un contrôle
Office mais un contrôle VB6. Ou bedon tu te fais un contrôle ActiveX
DTPicker2 dans VB6, tu le compiles, et tu installes ton nouveau contrôle
sur tous les postes.



Suite au didacticiel présent sur faqword.free.fr au sujet des userform,
je me suis inspiré de celle proposée pour créer un modèle de document qui
demande certains renseignements pour créer une télécopie.

J'ai complètement fini mon document, ainsi que toute la programmation
VBA, et cela marche parfaitement sur mon poste.
Mais au moment de diffuser le doc à mes collègues, patatra, des messages
d'alerte Microsoft Forms s'affichent avec pour contenu "Impossible de
charger le objet car il n'est pas disponible sur cette machine". Cela
ouvre du coup VBA et bloque sur une ligne du code.
Quand j'observe la userform, elle ne contient pas le contrôle microsoft
date and time picker 6.0 que j'ai mis dans le modèle.

Je tiens à préciser que les deux PC ont la même configuration, Win XP pro
avec Word 2003.

Pouvez-vous m'aider à déblouqer le problème SVP ?











Avatar
Clément Marcotte
Visual Studio complet inclue Visual Basic et d'autres languages de
programmation. Si ce n'est pas VisualBasic, cela peut être VisualC, ou C++,
ou J, ou d'autres.

"Sébastien JACKY" a écrit dans le message de
news:
Merci pour votre réponse rapide. Je suis une peu embêté car je n'ai pas
installé VB6 sur mon poste.
En regardant de plus près sur mon poste c'est en cliquant dans la boîte à
outils / contrôles supplémentaires / microsoft Date and Time Picker Contol
6.0 (SP6)
S'agit-il peut-être d'un patch ou d'un autre logiciel ? Peut-être Visual
Studio (qui est installé sur ma machine) ?

De plus comme je n'ai pas visual basic 6.0 (ni une autre version), je ne
peux pas me faire de contrôle ActiveX.

Au pire, existe-t-il un autre contrôle qui permet de séléctionner une date
et qui serait présent "de série", car pour reprendre l'exemple du
didacticiel sur Faq.free.fr, je ne dispose pas du contrôle "calendrier".


Faut installer VB6 sur tous les postes. DTPicker n'est pas un contrôle
Office mais un contrôle VB6. Ou bedon tu te fais un contrôle ActiveX
DTPicker2 dans VB6, tu le compiles, et tu installes ton nouveau contrôle
sur tous les postes.



Suite au didacticiel présent sur faqword.free.fr au sujet des userform,
je me suis inspiré de celle proposée pour créer un modèle de document
qui demande certains renseignements pour créer une télécopie.

J'ai complètement fini mon document, ainsi que toute la programmation
VBA, et cela marche parfaitement sur mon poste.
Mais au moment de diffuser le doc à mes collègues, patatra, des messages
d'alerte Microsoft Forms s'affichent avec pour contenu "Impossible de
charger le objet car il n'est pas disponible sur cette machine". Cela
ouvre du coup VBA et bloque sur une ligne du code.
Quand j'observe la userform, elle ne contient pas le contrôle microsoft
date and time picker 6.0 que j'ai mis dans le modèle.

Je tiens à préciser que les deux PC ont la même configuration, Win XP
pro avec Word 2003.

Pouvez-vous m'aider à déblouqer le problème SVP ?















Avatar
Anacoluthe
Bonjour !

'Sébastien JACKY' nous a écrit ...
Au pire, existe-t-il un autre contrôle qui permet de séléctionner une date
et qui serait présent "de série", car pour reprendre l'exemple du
didacticiel sur Faq.free.fr, je ne dispose pas du contrôle "calendrier".


Le 'Contrôle Calendrier ..' de la liste des 'Contrôles
supplémentaires' est pourtant installé par et dans Office !!!
Cherchez un fichier MSCAL.OCX ou similaire selon votre version:
il se peut qu'il ne soit pas 'enregistré' dans la base de registre
si vous ne le voyez pas dans la liste.

Anacoluthe
« Tout pouvoir sans contrôle rend fou. »
- ALAIN

Avatar
Sébastien JACKY
Bonjour et merci de votre aide,

Anacoluthe a écrit >

Le 'Contrôle Calendrier ..' de la liste des 'Contrôles
supplémentaires' est pourtant installé par et dans Office !!!
Cherchez un fichier MSCAL.OCX ou similaire selon votre version:
il se peut qu'il ne soit pas 'enregistré' dans la base de registre
si vous ne le voyez pas dans la liste.


Je suis navré mais le fichier mscal.ocx (ou d'un nom qui y ressemble à une
lettre près) n'est pas présent sur mon disque dur. (...du coup il n'est pas
'enregistré' dans la base de registre)
Ma version d'Office 2003 est la Small Buisness Edition. Pensez-vous qu'une
réinstallation ou une 'réparation' est possible et pourrait corriger
l'absence de ce fichier ?

Pour revenir au sujet original de mon post, certaines machines de mon
entreprise, ouvrent bien la userform, c'est à dire qu'elles possèdent bien
le composant date and time picker, et d'autre non. C'est vraiment déroutant
quand on sait que toutes les machines ont les mêmes versions de MSWindows et
de MSOffice !

Cette page
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/datetime/datetime.asp
semble indiquer que c'est la dll COMCTL32.DLL qui contient ce contrôle.
Pensez-vous qu'il suffit de copier ce fichier vers vers ordinateurs qui ne
le possèdent pas ? Serait-ce à votre avis suffisant au regard de
l'enregistrement' dans la base de registre ?

Avatar
Anacoluthe
Bonjour !

'Sébastien JACKY' nous a écrit ...
Je suis navré mais le fichier mscal.ocx (ou d'un nom qui y ressemble à une
lettre près) n'est pas présent sur mon disque dur. (...du coup il n'est pas
'enregistré' dans la base de registre)


MSCAL.OCX est un contrôle assez ubiquitaire installé par Office. Il
en existe diverses versions. On le trouve facilement en téléchargement
et son enregistrement est enfantin : il suffit de copier le fichier
dans C:WindowsSystem32 par exemple et d'exécuter la commande
regsvr32 mscal.ocx

Votre OFF2003 n'est probablement pas à jour : MSCAL.OCX est référencé
dans la SP2. Voyez http://support.microsoft.com/kb/887616/fr
Il est bien dans la liste des fichiers !

Pour revenir au sujet original de mon post, certaines machines de mon
entreprise, ouvrent bien la userform, c'est à dire qu'elles possèdent bien
le composant date and time picker, et d'autre non. C'est vraiment déroutant
quand on sait que toutes les machines ont les mêmes versions de MSWindows et
de MSOffice !


Les contrôles sont des bibliothèques partagées ! Il suffit qu'un poste
ait eu telle ou telle installation ou mise à jour d'un logiciel ou d'un
autre pour qu'il dispose de composants absents sur un autre.

Ceux qui développent des applications le savent bien : ils prennent
soin de toujours placer les dll, ocx et autres dans le package
d'installation pour compléter les composants qui peuvent manquer ou
qui ne sont pas à jour sur certains postes. Le résultat est plus
souvent l'inverse : certains débordent de bibliothèques inutiles.
Votre cas est donc plutôt rare...

Anacoluthe
« Tout pouvoir sans contrôle rend fou. »
- ALAIN