Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Incompatibilité Références XP vs 98

1 réponse
Avatar
Frédéric
Bonjour,
J'ai un soucis, bloquant.
J'ai écrit une macro sous Excel 2002, environnement Windows XP Pro, qui
contient entre autres des userforms, avec des contrôles activeX de type
TreeView.
De fait, mon classeur utilise les références suivantes :
- Microsoft Forms 2.0 Object Library (C:\WINDOWS\System32\FM20.DLL)
- Microsoft Windows Common Controls 6.0 ((C:\WINDOWS\System32\MSCOMCTL.OCX)

Le soucis, c'est que le client de cette macro lui a un PC avec Excel 2000
sous Windows 98! Et le problème, c'est que sur ce poste, les fichiers
FM20.DLL et MSCOMCTL.OCX ne sont pas sous C:\WINDOWS\System32 mais sous
C:\WINDOWS\System !!

Si mon projet VBA n'est pas protégé par mot de passe, pas de soucis, excel
se débrouille tout seul, et retombe sur ces pieds pour changer le chemin des
références C:\WINDOWS\System32 en C:\WINDOWS\System.

Mais voila, si mon projet VBA est protégé par mot de passe (ce que je veux
conserver évidemment), les références ne peuvent être modifiées. Ca plante,
avec un message d'erreur assez imcompréhensible, et le fichier ne s'ouvre
même pas!

Merci à ceux qui pourront me fournir un indice pour m'affranchir de ce
problème une fois de plus du aux incompatibilités entre versions micorsoft...
Frederic.

1 réponse

Avatar
michdenis
Bonjour Frédéric,

Est-ce que ceci résoudrait ta difficulté ?

Dans le thisWorkbook de ton classeur :
'-------------------
Private Sub Workbook_Open()
ModifierReference
End Sub
'-------------------

'---------------------------
Sub ModifierReference()

On Error Resume Next
With ThisWorkbook.VBProject
If Dir("C:WINDOWSsystem32", vbDirectory) = "" Then
.References.AddFromFile ("C:WINDOWSsystemFM20.DLL")
.References.AddFromFile ("C:WINDOWSsystemMSCOMCTL.OCX")
Else
.References.AddFromFile ("C:WINDOWSsystem32FM20.DLL")
.References.AddFromFile ("C:WINDOWSsystem32MSCOMCTL.OCX")
End If
End With

End Sub
'--------------------------------------


Salutations!



"Frédéric" a écrit dans le message de news:
Bonjour,
J'ai un soucis, bloquant.
J'ai écrit une macro sous Excel 2002, environnement Windows XP Pro, qui
contient entre autres des userforms, avec des contrôles activeX de type
TreeView.
De fait, mon classeur utilise les références suivantes :
- Microsoft Forms 2.0 Object Library (C:WINDOWSSystem32FM20.DLL)
- Microsoft Windows Common Controls 6.0 ((C:WINDOWSSystem32MSCOMCTL.OCX)

Le soucis, c'est que le client de cette macro lui a un PC avec Excel 2000
sous Windows 98! Et le problème, c'est que sur ce poste, les fichiers
FM20.DLL et MSCOMCTL.OCX ne sont pas sous C:WINDOWSSystem32 mais sous
C:WINDOWSSystem !!

Si mon projet VBA n'est pas protégé par mot de passe, pas de soucis, excel
se débrouille tout seul, et retombe sur ces pieds pour changer le chemin des
références C:WINDOWSSystem32 en C:WINDOWSSystem.

Mais voila, si mon projet VBA est protégé par mot de passe (ce que je veux
conserver évidemment), les références ne peuvent être modifiées. Ca plante,
avec un message d'erreur assez imcompréhensible, et le fichier ne s'ouvre
même pas!

Merci à ceux qui pourront me fournir un indice pour m'affranchir de ce
problème une fois de plus du aux incompatibilités entre versions micorsoft...
Frederic.