[Résolu] Problème affichage userform et désactivation référence.

Lone-wolf

XLDnaute Barbatruc
Bonjour le Forum et très bon dimanche,

j'ai commencer un projet qui permet d'activer les références VBA via un formulaire. Bizarrement, après avoir ouvert le fichier et inscrit dans les références, le formulaire ne reste pas actif (affiché).

Le deuxième problème, c'est la désactivation de la case à cocher de la référence. J'ai inscrit ceci:

Code:
Private Sub CmdAnnuler_Click()
Dim NomFichier, Rep

Set Rep = Application.FileDialog(msoFileDialogFilePicker)
    NomFichier = Rep.SelectedItems(Rep.FilterIndex)
On Error GoTo fin
    If NomFichier <> "" Then
With Application.VBE.ActiveVBProject.References
            .Remove .Item(NomFichier) 
   End With
End If
fin:
   End Sub

Mais ça ne fonctionne pas.

Un ch'tit coup de main ;) serait la bienvenue, merci d'avance.

NOTE: j'ai mis aussi un fichier .txt où sont inscrits les chemins des références, mise à part ceux qui sont par défaut.


Amicalement Lone-wolf :cool:
 

Pièces jointes

  • Références VBA.zip
    16.2 KB · Affichages: 39
  • Références VBA.zip
    16.2 KB · Affichages: 37
Dernière édition:

cathodique

XLDnaute Barbatruc
Re : Problème affichage userform et désactivation référence.

Bonjour,

Il se peut que tu aies un début de solution sur ce fil Il parait que pour la portabilité, il est déconseillé d'activer des références par macro mais plutôt passer par un "CreateObject". Je te le confirme. Un code écrit sur excel 2007 a planté sur excel 2010.

En plus, il faut toute une gymnastique pour activer les références. Bon dimanche.
 

Lone-wolf

XLDnaute Barbatruc
Re : Problème affichage userform et désactivation référence.

Bonjour cathodique,

merci de ton intervention. J'ai regardé le lien et je l'avait déjà vu, c'est de là que j'ai fait le code.

J'ai mis ceci à present.


Code:
Private Sub CmdAnnuler_Click()
Dim Rep, NomFichier

Set Rep = Application.FileDialog(msoFileDialogFilePicker)
 NomFichier = Rep.SelectedItems(Rep.FilterIndex)
 With ThisWorkbook.VBProject.References
        .Remove .Item(NomFichier)
    End With
End Sub

Ici j'ai NomFichier qui devrait avoir comme extention NomFichier.Description. Je ne c'est pas comment faire en sorte, que celui-ci mémorise la description de la dernière référence (Par exemple: cdosys.dll(Nom)-Microsoft CDO(Description)); vus que, application.FileDialog se ferme et ferme aussi le formulaire. Oubien créer une nouvelle variable, je ne sais pas.


A+ :cool:
 
Dernière édition:

cathodique

XLDnaute Barbatruc
Re : Problème affichage userform et désactivation référence.

Re,

Mes connaissances en vba sont très basiques. Comme je l'avais expliqué dans mon intervention sur le fil du lien. Dans le code (thisworbook), il y a les références guids (pas le chemin des DLL).

Et pour que ça fonctionne, il faut cocher la case "accès approuvé au modèle d'objet du projet VBA" qui se trouve dans Développeur ----> sécurité des macros.

Je crois qu'il faut que la référence "Microsoft Visual for Applications Basic Extensibility 5.3" soit cochée.

Je ne peux pas t'aider plus que mes compétences.

Je dirais tout simplement que sur mon fichier, je vais suivre le conseil de David64: EVITER DE COCHER LES REFERENCES PAR CODE"

Cordialement,

Cathodique
 

Lone-wolf

XLDnaute Barbatruc
Re : Problème affichage userform et désactivation référence.

Re cathodique,

Et pour que ça fonctionne, il faut cocher la case "accès approuvé au modèle d'objet du projet VBA" qui se trouve dans Développeur ----> sécurité des macros.

Ceci je l'ai déjà fait après avoir installé Office. Et j'ai aussi rajouter par voie normale la référence.
Malheureusement le résultat n'est pas concluant, même avec le deuxième code.

En ce qui concerne tes compétences en VBA, ce n'est pas grave; moi je ne suis pas un pro non plus.


A+ :cool:
 
Dernière édition:

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972