Detruire un composant VBA manquant par le code

PocKeT- Messages postés 1 Date d'inscription lundi 24 novembre 2003 Statut Membre Dernière intervention 28 avril 2008 - 28 avril 2008 à 22:50
cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011 - 29 avril 2008 à 08:59
Bonjour,

J'ai un petit soucis pour effacer un composant VBA (par le code directement et non par le menu!).

En fait je voudrais créer un petit bout de code qui permette de remplacer les composants manquant. Je parse les composants existant de mon projet et je check s'ils sont manquant (no problem jusque la). La ou ça se corse c'est que VB refuse de supprimer une reference manquante : il me dis genre "erreur la reference existe pas" (je fais qqun chose genre thisworkbook.VBProject.References.Remove la_ref_qui_va_pas!).

Quelqu'un a une idée/une autre méthode pour faire ça ?

Merci d'avance!

1 réponse

cs_faucheuse Messages postés 308 Date d'inscription jeudi 10 janvier 2008 Statut Membre Dernière intervention 27 octobre 2011
29 avril 2008 à 08:59
Salut, j'ai fait ce petit bout e code en m'inspirant de ce que j'ai trouvé un peu partout, mais je n'ai pas pu le tester encore(n'ayant de references manquant XD) :
Dim LesRef As Object

For Each LesRef In ActiveWorkbook.VBProject.References

If Len(LesRef.GUID) > 0 Then

a = UCase(LesRef.Name)

If Mid(a, 1, 7) = "MANQUANT" Then

ActiveWorkbook.VBProject.References.Remove LesRef

Exit For

End If

End If

Next
Met une ligne du style "Range("A1").value=Lesref" si tu veux voir quelle reference actuellement dedans.
Quant aux fonctions du style GUID je te laisse regarder dans l'aide(j'ai pas tout compris XD)

En esperant que ca t'aidera, ++
0