Non vue qu'il s'agit bien de l'instance wb.VBProject et pas de son non
Ici tu récupères l'instance du modules actif
Application.VBE.ActiveCodePane.CodeModule.Parent
Et tu le compare à l'instance du wb?? Défi dans la boucle
C'est comme une collection du même module de classe chaque instance est unique
Place les deux dans la fenêtre espion, tu verras qu'il sont du même type et que ce soit bien des objets à part entière
re
bon on a vu la reduction dans un bloc with
maintenant on peut parler du besoins de variabliser
c'est quoi la différence selon toi entre ça
VB:
Sub testgetwbkparente1()
With Application.VBE.ActiveCodePane.CodeModule.Parent.Collection.Parent
MsgBox Mid(.Filename, InStrRev(.Filename, "\") + 1)
End With
End Sub
et ça
Code:
Sub TestGetWorkbookNameSuite()
Dim NomF As String: NomF = Application.VBE.ActiveCodePane.CodeModule.Parent.Collection.Parent.fileName
' Affichez le nom du fichier
MsgBox Mid(NomF, InStrRev(NomF, "\") + 1)
End Sub
re
et ben non ce n'est pas identique du tout
tu n'a pas compris le sens de la démarche ma fonction me renvoie le classeur contenant le module actif dans vbe il n'est pas forcé que se soit le classeur contenant la macro
ton truc a toi renvoie celui contenant de la macro