Bonjour,
Nous avons l'habitude d'utiliser la propriété CodeName d'un objet Worksheet mais i'objet Workbook possède également cette propriété qui peut être fort utile.
Exemple : Nous avons plusieurs classeurs ouverts et nous souhaitons effectuer une action sur le classeur actif à condition qu'il soit le bon.
If ActiveWorkbook.CodeName = "MonClasseur" Then MsgBox "Yes"
Il existe un autre avantage avec les macros complémentaires (xlam)
Si nous écrivons une application que nous distribuons comme fichier AddIn, il est fort probable que nous inclurons un menu qui ne devrait s'afficher qu'avec un certain classeur.
Donnons par exemple comme CodeName à ce classeur "MonApplication"
Dès que ce classeur sera ouvert la macro complémentaire pourra le détecter en effectuant un test sur son CodeName
Code à placer dans le module "Classeur" du classeur xlam
1 2 3 4 5
| Option Explicit
Public WithEvents XL As Excel.Application
Private Sub Workbook_Open()
Set XL = Excel.Application
End Sub |
et toujours dans ce même module
1 2 3 4 5
| Private Sub XL_WorkbookOpen(ByVal Wb As Workbook)
If Wb.CodeName = "MonApplication" Then
MsgBox "Ce classeur est le bon"
End If
End Sub |
CodeName du classeur
Partager