Bonjour à tous,
Est il possible en VBA de générer dynamiquement du code dans un module ?
Ça nous serait utile pour mettre a jour un Menu perso. En fait lorsqu'on ajoute une feuille on souhaiterait qu'elle soit accessible via le menu.
Pour l'instant :
- on detecte la feuille inserer avec l'evenement Workbook_NewSheet(ByVal Sh As Object), on initialise NS = true
- On la créé dans le menu mais :
If NS = True And Val = "A" Then
Set MyButton = MonMenu.Controls.Add(msoControlButton, 1, , , True)
With MyButton
.Caption = NomFeuil
.Style = .Style = Office.MsoButtonStyle.msoButtonIconAndCaption
.FaceId = 1550
.OnAction = "SélecAX"
.BeginGroup = False
End With
NS = False
End If
Donc tous ce passe bien au premier refresh mais les feuilles suivantes modifie la condition donc n'apparaissent plus dans le Menu.
Il ni a que la derniere feuille qui apparait ...
Notre idée serait de créer du code dynamiquement, est ce possible ?
Merci pour votre aide !!
Bonne journée.
Est il possible en VBA de générer dynamiquement du code dans un module ?
Ça nous serait utile pour mettre a jour un Menu perso. En fait lorsqu'on ajoute une feuille on souhaiterait qu'elle soit accessible via le menu.
Pour l'instant :
- on detecte la feuille inserer avec l'evenement Workbook_NewSheet(ByVal Sh As Object), on initialise NS = true
- On la créé dans le menu mais :
If NS = True And Val = "A" Then
Set MyButton = MonMenu.Controls.Add(msoControlButton, 1, , , True)
With MyButton
.Caption = NomFeuil
.Style = .Style = Office.MsoButtonStyle.msoButtonIconAndCaption
.FaceId = 1550
.OnAction = "SélecAX"
.BeginGroup = False
End With
NS = False
End If
Donc tous ce passe bien au premier refresh mais les feuilles suivantes modifie la condition donc n'apparaissent plus dans le Menu.
Il ni a que la derniere feuille qui apparait ...
Notre idée serait de créer du code dynamiquement, est ce possible ?
Merci pour votre aide !!
Bonne journée.