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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
<ionel.sbiera@gmail.com> a écrit dans le message de news:
1158139553.658218.167510@h48g2000cwc.googlegroups.com...
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
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
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
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
'--------------------------
<ionel.sbiera@gmail.com> a écrit dans le message de news:
1158139553.658218.167510@h48g2000cwc.googlegroups.com...
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
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