XL 2016 VBComponent

  • Initiateur de la discussion Initiateur de la discussion Loulou27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Loulou27

XLDnaute Nouveau
Bonjour,

Avec mon excel (pack Msoffice2016), je n'arrive pas à faire des choses avec VBComponent ==> erreur 1004

1747834164675.png


J'ai bien activer la référence "Microsoft Visual Basic For Applications Extensibility 5.3"


Je veux rechercher un module spécifique dans plusieurs fichiers excel et le supprimer si il est existant



Merci pour votre aide


Reprise du code donné mais qui ne fonctionne pas chez moi ==> c'était pour essayer savoir si c'était mon code ou pas

Sub InsererModuleEtMacro()
'Activer la reference Microsoft Visual Basic For Applications Extensibility 5.3
Dim Vbc As VBComponent
Dim X As Byte
Dim NomModule As String

Set Vbc = Workbooks(1).VBProject.VBComponents.Add(vbext_ct_StdModule) 'nouveau module dans classeur contenant cette macro
'Vbc.Name = "LeNom" ' option pour personnaliser le nom du module
NomModule = Vbc.Name 'recuperer le nom du module par defaut

With ThisWorkbook.VBProject.VBComponents(NomModule).CodeModule 'insertion d'une macro dans le module créé
X = .CountOfLines
.InsertLines X + 1, "Sub Test()"
.InsertLines X + 2, "MsgBox ""Le forum Xld"",VBinformation "
.InsertLines X + 3, "End Sub"
End With

End Sub
 
et pour ta macro
VB:
'====================================================================
'Pour créer dynamiquement des modules vous devez activer une option  dans les options d'Excel
'le chemin peut varier selon les versions d'excel
'    Fichier/
'    Options
'    Paramètres de a gestion de confidentialité/
'    Paramètres de la gestion du centre de la confidentialité
'    Paramètres des macros
'    Cocher la case :
'                   1° Accès approuvé au modèle d'objet du projet VBA
'
'                  2° la référence Microsoft Visual Basic For Applications Extensibility 5.3
'====================================================================
Sub InsererModuleEtMacro()
    Dim Vbc As VBComponent
    Dim X As Byte
    Dim NomModule As String
 
    'le nom
    NomModule = "mon_module_de_macro"
 
    '---------------------------------------------------------
    'Ajout d'un module
    Set Vbc = Workbooks(1).VBProject.VBComponents.Add(vbext_ct_StdModule) 'nouveau module dans classeur contenant cette macro
    'Attention ici workbook(1) ne veut pas dire ThisworkBook"
    '----------------------------------------------------------
    'renommage du module
    Vbc.Name = NomModule ' option pour personnaliser le nom du module
    '----------------------------------------------------------
    'insertion d'une macro dans le module créé
    With Vbc.CodeModule
        X = .CountOfLines
        .InsertLines X + 1, "Sub Test()" & vbCrLf & _
                             "MsgBox ""Le forum Xld"",VBinformation " & vbCrLf & _
                             "End Sub"
    End With
    '----------------------------------------------------------
End Sub
 
Dernière édition:
Bonjour
quel paramètre
si il est partagé j’attire ton attention (A NOUVEAU!!) à remplacer workbooks(1) par thisworkbook
on sera sur que le nouveau module et son code ira bien dans ce fichier
quel paramètre
Les activations =>
1° Accès approuvé au modèle d'objet du projet VBA
2° la référence Microsoft Visual Basic For Applications Extensibility 5.3


si il est partagé j’attire ton attention (A NOUVEAU!!) à remplacer workbooks(1) par thisworkbook
on sera sur que le nouveau module et son code ira bien dans ce fichier

Oui, j'ai modifié en conséquence
 
re
oui je connais mais cela reviendrait a te donner un crack pour que ta macro s’exécute sans que l’utilisateur le sache

la ref se coche par le ref.addfromfille par le chemin complet de sa Dll car elle n'a pas GUID

donc non je ne te donnerais pas cette astuce ,je serais limite selon la charte du forum
 
re
oui je connais mais cela reviendrait a te donner un crack pour que ta macro s’exécute sans que l’utilisateur le sache

la ref se coche par le ref.addfromfille par le chemin complet de sa Dll car elle n'a pas GUID

donc non je ne te donnerais pas cette astuce ,je serais limite selon la charte du forum

Bonjour,

Ok, je comprends et cela est normal

Merci en tout cas pour m'avoir débloqué; à une prochaine pour un nouveau problème
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour