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

Enlever Reference Bloomberg

2 réponses
Avatar
ionel.sbiera
Bonjour,

Apres avoir lu plein de topics comment enlever une refrence sous VBA (
Tools/References) avec un morceau de code, j'ai toujours un sousi.
Comme indiqu=E9 par FS dans l'un des topics que j'ai lu au sujet de
comment enlever une reference a une bibilioteque externe en utilisant
le code VBA j'uitilise le code suivant:
=A7pour faire une reference:

Sub Ref_Bloomberg()
Dim Fichier
On Error Resume Next ' okazou allready instaled...
AddIns("Bloomberg").Installed =3D True
Fichier =3D "C:\blp\API\activex\blpdatax.dll"
ThisWorkbook.VBProject.References.AddFromFile Fichier
End Sub

=A7pour enlever la reference

Sub Unref_Bloomberg()
With ThisWorkbook.VBProject
.References.Remove .References("Bloomberg Data Type Library")
End With
End Sub

Pour le referencement, il n'y a pas de souci, mais par contre, pour
enlever la reference j'ai toujours une erreur (Error9).
Donc, a ce moment la, je sais pas pour quoi cette erreur? J'ai sais que
pour enlever la reference il faut passer comme argument le nom de la
biblioteque. Dans mon cas "Bloomberg Data Type Library". Si quelqun
pourrait m'aider je lui serait profondement reconaissant!
Merci d'avance
IS

2 réponses

Avatar
Michel Rotteleur [MS]
Bonjour,

L'erreur 9 indique que la collection de References ne trouve pas d'objet
correspondant à l'index "Bloomberg Data Type Library"

J'ai essayé de supprimer d'autres références en indiquant leur Description,
et cela n'a pas l'air de fonctionner - pas plus que par leur Name ou leur
FullPath d'ailleurs.

Puisque vous avez le chemin de la dll, voici ce que je vous propose:

Sub Unref_Bloomberg()
RemoveRef "C:blpAPIactivexblpdatax.dll"
End Sub

Sub RemoveRef(RefFullPath As String)
Dim i As Integer, iMax As Integer

With ThisWorkbook.VBProject.References
iMax = .Count
For i = iMax To 1 Step -1
If LCase(.Item(i).FullPath) = LCase(RefFullPath) Then
.Remove .Item(i)
Exit For
End If
Next i

If iMax = .Count Then
' Le décompte n'a pas changé: la suppression n'a pas été
effectuée
Err.Raise 9, "RemoveRef", "Subscript out of range"
End If
End With
End Sub

Bien sûr le même raisonnement peut s'appliquer en utilisant la propriété
Name ou Description, si vous préférez.

Notez que si la dll n'est pas chargée, je lève une exception, ce qui vous
permet de savoir que vous avez essayer de dé-référencer une dll qui ne
l'était pas. Mais si vous préférez un mode silencieux, vous pouvez enlever
cette partie, ou encore la remplacer par un autre type de gestion d'erreur.

Cordialement,


Michel Rotteleur
Microsoft Services



a écrit dans le message de news:

Bonjour,

Apres avoir lu plein de topics comment enlever une refrence sous VBA (
Tools/References) avec un morceau de code, j'ai toujours un sousi.
Comme indiqué par FS dans l'un des topics que j'ai lu au sujet de
comment enlever une reference a une bibilioteque externe en utilisant
le code VBA j'uitilise le code suivant:
§pour faire une reference:

Sub Ref_Bloomberg()
Dim Fichier
On Error Resume Next ' okazou allready instaled...
AddIns("Bloomberg").Installed = True
Fichier = "C:blpAPIactivexblpdatax.dll"
ThisWorkbook.VBProject.References.AddFromFile Fichier
End Sub

§pour enlever la reference

Sub Unref_Bloomberg()
With ThisWorkbook.VBProject
.References.Remove .References("Bloomberg Data Type Library")
End With
End Sub

Pour le referencement, il n'y a pas de souci, mais par contre, pour
enlever la reference j'ai toujours une erreur (Error9).
Donc, a ce moment la, je sais pas pour quoi cette erreur? J'ai sais que
pour enlever la reference il faut passer comme argument le nom de la
biblioteque. Dans mon cas "Bloomberg Data Type Library". Si quelqun
pourrait m'aider je lui serait profondement reconaissant!
Merci d'avance
IS
Avatar
michdenis
Pour enlever la bibliothèque "funcres" à titre d'exemple :
On se doit d'utiliser le nom de la bibliothèque tel qu'il
apparaiît dans la liste des bibliothèques de l'explorateur d'objets

'--------------------------
Sub test()
Dim Ref As Object
On Error Resume Next
With ThisWorkbook.VBProject
Set Ref = .References("funcres")
.References.Remove Ref
End With
Set Ref = Nothing
End Sub
'--------------------------



a écrit dans le message de news:

Bonjour,

Apres avoir lu plein de topics comment enlever une refrence sous VBA (
Tools/References) avec un morceau de code, j'ai toujours un sousi.
Comme indiqué par FS dans l'un des topics que j'ai lu au sujet de
comment enlever une reference a une bibilioteque externe en utilisant
le code VBA j'uitilise le code suivant:
§pour faire une reference:

Sub Ref_Bloomberg()
Dim Fichier
On Error Resume Next ' okazou allready instaled...
AddIns("Bloomberg").Installed = True
Fichier = "C:blpAPIactivexblpdatax.dll"
ThisWorkbook.VBProject.References.AddFromFile Fichier
End Sub

§pour enlever la reference

Sub Unref_Bloomberg()
With ThisWorkbook.VBProject
.References.Remove .References("Bloomberg Data Type Library")
End With
End Sub

Pour le referencement, il n'y a pas de souci, mais par contre, pour
enlever la reference j'ai toujours une erreur (Error9).
Donc, a ce moment la, je sais pas pour quoi cette erreur? J'ai sais que
pour enlever la reference il faut passer comme argument le nom de la
biblioteque. Dans mon cas "Bloomberg Data Type Library". Si quelqun
pourrait m'aider je lui serait profondement reconaissant!
Merci d'avance
IS