OVH Cloud OVH Cloud

Problème VBA

8 réponses
Avatar
Luc H
Bonjour,

Vous m'excuserez d'être long mais je donne tous les détails que je
peux.
J'ai une application en word 2000 sous Win98.
Cette application de publipostage utilise un contrôle commondialog pour
sélectionner le fichier à fusionner.
Cette application fonctionne depuis plusieurs années or aujourd'hui,
j'ai eu une erreur "Erreur de compilation: Projet ou bibliothèque
introuvable" surligné à l'écran : Year(Date). Mes recherche m'ont amené
a ouvrir les références et constaté que le module Microsoft Common
Dialog Control 6.0 (SP3) est manquant (MSCOMCTL32.OCX dans
Windows\System).
J'ai donc trouvé MSCOMCTL32.OCX sur la toile, téléchargé et installé.
Le problème décrit précédemment a disparut, mais un autre s'est pointé:

Erreur d'exécution '429':
Un composant ActiveX ne peut pas créer d'objet

Extrait de mon code:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -
Sub ConnectNewDatabase()

Dim cd As CommonDialog

Set cd = New CommonDialog '<<<<<<<<<<< cette ligne est
surlignée
cd.DialogTitle = "Sélection du fichier source"
cd.Filter = "Fichier Source|*.dat|Fichier Excell|*.xls|Tous les
fichiers|*.*"
cd.InitDir = ActiveDocument.path
cd.ShowOpen
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -

Quelqu'un pourrait-il m'aider ?
Un grand merci d'avance

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

8 réponses

Avatar
ClémentMarcotte
J'ai donc trouvé MSCOMCTL32.OCX sur la toile, téléchargé et installé.
Le problème décrit précédemment a disparut, mais un autre s'est pointé:


Et puis ceux qui paient le gros prix pour acheter VisualStudio pour l'avoir
légalement, tu en fais quoi?

Avatar
Luc H
Re bonjour

Le 15/06/2005, ClémentMarcotte a supposé :
J'ai donc trouvé MSCOMCTL32.OCX sur la toile, téléchargé et installé.
Le problème décrit précédemment a disparut, mais un autre s'est pointé:


Et puis ceux qui paient le gros prix pour acheter VisualStudio pour l'avoir
légalement, tu en fais quoi?


Désolé, je me suis mal exprimé au lieu de MSCOMCTL32.OCX il faut lire
COMDLG32.OCX.
Milles excuse pour le couroux que j'ai provoqué.

Toufefois mon problème est toujours bien présent et je ne peut pas
créer un objet CommonDialog.

Si quelqu'un a une piste...

Merci d'avance

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net


Avatar
Luc H
Luc H avait prétendu :
Bonjour,

Vous m'excuserez d'être long mais je donne tous les détails que je peux.
J'ai une application en word 2000 sous Win98.
Cette application de publipostage utilise un contrôle commondialog pour
sélectionner le fichier à fusionner.
Cette application fonctionne depuis plusieurs années or aujourd'hui, j'ai eu
une erreur "Erreur de compilation: Projet ou bibliothèque introuvable"
surligné à l'écran : Year(Date). Mes recherche m'ont amené a ouvrir les
références et constaté que le module Microsoft Common Dialog Control 6.0
(SP3) est manquant (MSCOMCTL32.OCX dans WindowsSystem).
J'ai donc trouvé MSCOMCTL32.OCX sur la toile, téléchargé et installé.
Le problème décrit précédemment a disparut, mais un autre s'est pointé:

Erreur d'exécution '429':
Un composant ActiveX ne peut pas créer d'objet

Extrait de mon code:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sub ConnectNewDatabase()

Dim cd As CommonDialog

Set cd = New CommonDialog '<<<<<<<<<<< cette ligne est surlignée
cd.DialogTitle = "Sélection du fichier source"
cd.Filter = "Fichier Source|*.dat|Fichier Excell|*.xls|Tous les fichiers|*.*"
cd.InitDir = ActiveDocument.path
cd.ShowOpen
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Quelqu'un pourrait-il m'aider ?
Un grand merci d'avance


J'ai trouvé.
Au cas ou cela peut servir, j'ai simplement réenregistré comdlg32.ocx
(celui que j'ai téléchargé) et tout est rentré dans l'ordre.

Merci quand même à ceux qui ont pris la peine de me lire et essayer de
comprendre et/ou répondre à mon appel.

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

Avatar
Luc H
OK,

J'ai fait une connerie.
A l'origine, sur le poste en Win98, j'avais installé Visual Studio.
Je l'ai désintallé pour gagner de la place sur le DD, mais certains OCX
sont restés.
Ces OCX, je les ai naturellement utilisés dans mon application VBA sans
me rendre compte qu'il s'agissait d'OCX de Visual Studio.
Maintenant, je n'ai plus qu'a recoder le tout avec les API Windows.
Ceci va me prendre du temps, mais peut-être avez vous un lien qui peut
m'aider ?

Toutes mes excuses et merci a tous

Luc

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
Avatar
Jacques93
Bonsoir Luc H,
OK,

J'ai fait une connerie.
A l'origine, sur le poste en Win98, j'avais installé Visual Studio.
Je l'ai désintallé pour gagner de la place sur le DD, mais certains OCX
sont restés.
Ces OCX, je les ai naturellement utilisés dans mon application VBA sans
me rendre compte qu'il s'agissait d'OCX de Visual Studio.
Maintenant, je n'ai plus qu'a recoder le tout avec les API Windows.
Ceci va me prendre du temps, mais peut-être avez vous un lien qui peut
m'aider ?

Toutes mes excuses et merci a tous

Luc



A moins que l'appel des API ne soit irrésistible, tu peux jeter un coup
d'oeil sur les boites de dialogues intégrées à Word. OK sous Office XP
et Office 2003 et d'après MSDN :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/wohowDisplayBuiltInDialogs.asp

c'est ok aussi pour 2000. A vérifier, je n'ai pas cette version :

Dim fName As String
With Dialogs(wdDialogFileOpen)
.Name = "*.*"
.Display
fName = .Name
End With


--
Cordialement,

Jacques.

Avatar
Luc H
Le 15/06/2005, Jacques93 a supposé :
Bonjour Jacques93

Bonsoir Luc H,

A moins que l'appel des API ne soit irrésistible, tu peux jeter un coup
d'oeil sur les boites de dialogues intégrées à Word. OK sous Office XP et
Office 2003 et d'après MSDN :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/wohowDisplayBuiltInDialogs.asp

c'est ok aussi pour 2000. A vérifier, je n'ai pas cette version :

Dim fName As String
With Dialogs(wdDialogFileOpen)
.Name = "*.*"
.Display
fName = .Name
End With


Ceci est une idée intéressante a creuser, je vais essayer comme cela.
Merci pour cette info

Luc

--
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net

Avatar
Geo
Bonjour Jacques93



A moins que l'appel des API ne soit irrésistible, tu peux jeter un
coup d'oeil sur les boites de dialogues intégrées à Word. OK sous
Office XP et Office 2003 et d'après MSDN :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/wohowDisplayBuiltInDialogs.asp

c'est ok aussi pour 2000. A vérifier, je n'ai pas cette version :


C'est vérifié, ça marche !

--

A+

Avatar
Jacques93
Bonjour Geo,
Bonjour Jacques93



A moins que l'appel des API ne soit irrésistible, tu peux jeter un
coup d'oeil sur les boites de dialogues intégrées à Word. OK sous
Office XP et Office 2003 et d'après MSDN :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/wohowDisplayBuiltInDialogs.asp


c'est ok aussi pour 2000. A vérifier, je n'ai pas cette version :



C'est vérifié, ça marche !



Merci :-)

--
Cordialement,

Jacques.