Bibliothèque d'objets [Résolu]

Skakaline 16 Messages postés jeudi 3 août 2006Date d'inscription 26 juin 2008 Dernière intervention - 4 août 2006 à 17:59 - Dernière réponse : Skakaline 16 Messages postés jeudi 3 août 2006Date d'inscription 26 juin 2008 Dernière intervention
- 16 août 2006 à 11:21
Bonjour,

Je cherche à lister à partir d'excel les macros d'une autre application.
Malheureusement, je reçois une erreur lors de l'exécution dès que je fait référence à la propiété CodeModule de l'objet VBComponent.
Err.number : -2143719779
Err.Description : Bibliothèque d'objets non enregistré
Pourtant, j'ai bien la bibliothèque "Microsoft Visual Basic for Applications Extensibility 5.3" ?!?
Quelqu'un peut il m'aider ?

Skakaline
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Skakaline 16 Messages postés jeudi 3 août 2006Date d'inscription 26 juin 2008 Dernière intervention - 16 août 2006 à 11:21
3
Merci
J'ai supprimé les déclarations VBIDE et celà semble marché...
Encore un mystère non résolu !

Skakaline

Merci Skakaline 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de Skakaline
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 4 août 2006 à 18:04
0
Merci
Salut,

c'est quoi ton code ?
Pour info, tu ne peux "toucher" à un projet avec mot de passe !

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Commenter la réponse de mortalino
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 4 août 2006 à 18:06
0
Merci
Ah, et il faut charger la bibliothèque VBIDE !

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Commenter la réponse de mortalino
Skakaline 16 Messages postés jeudi 3 août 2006Date d'inscription 26 juin 2008 Dernière intervention - 4 août 2006 à 18:17
0
Merci
Salut,


Code où survient le problème

Dim MonProjet as VBIDE.VBproject
Dim MonComposant as VBIDE.VBComponent
Dim MonCode as VBIDE.CodeModule
Dim MonModue as String
...
Call AjoutModule 'teste et ajoute le module MonModule
set MonComposant = MonProjet.VBComponents(MonModule)
set MonCode = MonComposant.CodeModule
 =>le problème est là ! Dés que je fait référence à CodeModule : ERREUR !




Skakaline
Commenter la réponse de Skakaline
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 4 août 2006 à 18:20
0
Merci
Comment s'appelle le Module ?
(ex : Module1, ModuleProcedures, etc..)

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Commenter la réponse de mortalino
Skakaline 16 Messages postés jeudi 3 août 2006Date d'inscription 26 juin 2008 Dernière intervention - 4 août 2006 à 18:21
0
Merci
Essai

Skakaline
Commenter la réponse de Skakaline
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 4 août 2006 à 18:31
0
Merci
Essaie cette procédure :

<small>
Coloration syntaxique automatique </small>
Sub Lire_Code() 
    Dim MonStr           As String 
    Dim MonBook       As Workbook 
    Dim VBP               As VBIDE.VBProject
    Dim RechercheFile As FileDialog
    Dim refItemSelectionne As FileDialogSelectedItems

On Error GoTo Fin 

Application.ScreenUpdating = False 

' création de la boite de dialogue de type 'Choix du Fichier'
        Set RechercheFile = Application.FileDialog(msoFileDialogFilePicker) 

    With RechercheFile 
        .Filters.Add "Fichiers excel", "*.xls", 1  'Type de l'extension
        .InitialFileName = ThisWorkbook.Path  'la racine est celle de ce fichier
        .AllowMultiSelect = False  'on ne permet qu'une seule sélection de fichier
        .Title = "Quel est le fichier à traiter ?"  'titre de la boite de dialogue
        If .Show = -1 Then  'on l'affiche
            FichierATraiter = .SelectedItems.Item(1)  'référence le nom du fichier choisi
        Else 
        End If 
    End With 

        Set RechercheFile = Nothing  'vide la mémoire

    Workbooks.Open (FichierATraiter) 

        Set MonBook = ActiveWorkbook 
        Set VBP = MonBook.VBProject 

With VBP.VBComponents("Essai").CodeModule  'tu peux remplacer le nom du
' par UserForm1, Feuil2, MonModuleDeClasse1 etc...

    MonStr = .Lines(1, .CountOfLines) 
    MsgBox MonStr 
End With

On Error GoTo 0 

MonBook.Close False   '<<== moi j'ai mis à False 
' pour ne pas enregistrer et permettre plusieurs le test
        Set VBP = Nothing 
        Set MonBook = Nothing
Application.ScreenUpdating = True 
Application.EnableEvents = True 
    Exit Sub 

Fin: 
    MsgBox "ERREUR dans la lecture du code du Module", _ 
    vbOKOnly + vbCritical 
MonBook.Close False 
        Set VBP = Nothing 
        Set MonBook = Nothing 
Application.ScreenUpdating = True 
Application.EnableEvents = True 
End Sub

<small>
Coloration syntaxique automatique </small>

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Commenter la réponse de mortalino
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 4 août 2006 à 18:48
0
Merci
Mini erreur, avant le
Application.ScreenUpdating = False
mettre
Application.EnableEvents = False

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
Commenter la réponse de mortalino

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.