Ajouter une référence à un projet VB EXCEL en cours d'exécution. C'est util lorsque l'on doit ajouter une référence à un projet d'un autre classeur et/ou comme moi lorsque le menu "ajouter une référence" ne fonctionne plus... ("Erreur d'accès à la base de registration")
Source / Exemple :
Private Const csRefSD$ = "vbSD" 'Référence à ajouter (SD->Sous-Détail -> rapport avec mon projet)
Public Sub sbAddRefSD()
On Error Resume Next
Dim F$
F$ = modFicIni.fnRecupSD
If Trim$(F$) <> "" Then
If Dir$(F$) <> "" Then
If Application.VBE.ActiveVBProject.Protection = vbext_pp_locked Then
SendKeys "{ESC}"
End If
Application.VBE.ActiveVBProject.References.AddFromFile F$
End If
End If
End Sub
Public Sub sbGestRefSD()
On Error Resume Next
Dim i%, N%, B As Boolean
B = False
N% = Application.VBE.ActiveVBProject.References.Count
For i% = 1 To N%
If Application.VBE.ActiveVBProject.References.Item(i%).Name = csRefSD$ Then
If Application.VBE.ActiveVBProject.References.Item(i%).IsBroken Then
Application.VBE.ActiveVBProject.References.Remove Application.VBE.ActiveVBProject.References.Item(i%)
sbAddRefSD
B = True
End If
End If
Next
If Not B Then
sbAddRefSD
End If
End Sub
Public Sub sbRemoveRefSD()
On Error Resume Next
Dim i%, N%
N% = Application.VBE.ActiveVBProject.References.Count
For i% = 1 To N%
If Application.VBE.ActiveVBProject.References.Item(i%).Name = csRefSD$ Then
Application.VBE.ActiveVBProject.References.Remove Application.VBE.ActiveVBProject.References.Item(i%)
End If
Next
End Sub
Public Sub sbForceRefSD()
On Error Resume Next
sbRemoveRefSD
sbAddRefSD
End Sub
Public Function fnVerifSiRefSDExiste() As Boolean
On Error Resume Next
Dim R As Boolean
R = False
Dim i%, N%
N% = Application.VBE.ActiveVBProject.References.Count
For i% = 1 To N%
If Application.VBE.ActiveVBProject.References.Item(i%).Name = csRefSD$ Then
R = True
Exit For
End If
Next
fnVerifSiRefSDExiste = R
End Function
Conclusion :
suffit de lancer "sbGestRefSD"
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.