Exécution d’une procédure lors de l’ouverture d’un classeur (Microsoft Excel)
Vous pouvez faire en sorte qu’Excel exécute automatiquement une procédure chaque fois qu’un classeur particulier est ouvert. Par exemple, lorsque le classeur est ouvert, vous souhaiterez peut-être exécuter une procédure qui demande aux utilisateurs s’ils souhaitent effectuer une tâche, telle que l’enregistrement des données de la veille dans un autre fichier.
En réalité, Excel propose deux manières différentes d’exécuter une procédure lorsqu’un classeur est ouvert. Dans les deux cas, il vous suffit de donner un nom spécial à la macro; c’est l’indice qui indique à Excel que vous souhaitez exécuter la procédure lors de l’ouverture. Vous pouvez, si vous le souhaitez, nommer la procédure Auto_Open et la placer dans un module macro standard. Vous pouvez également définir une procédure appelée Workbook_Open dans l’objet ThisWorkbook.
À titre d’exemple, considérons le code suivant:
Sub Auto_Open() Dim sMsg As String Dim iBoxType As Integer Dim iUpdate As Integer Dim sDefault As String Dim sOldFile As String Dim iStatusState As Integer sMsg = "Do you want to save yesterday's transactions?" iBoxType = vbYesNo + vbQuestion iUpdate = MsgBox(sMsg, iBoxType, "Automatic Backup") If iUpdate = vbYes Then sMsg = "Which filename would you like use?" sDefault = "OLD.DAT" sOldFile = InputBox(sMsg, "Automatic Backup", sDefault) iStatusState = Application.DisplayStatusBar Application.DisplayStatusBar = True Application.StatusBar = "Updating past months..." UpdateYesterday(sOldFile) Application.StatusBar = False Application.DisplayStatusBar = iStatusState End If End Sub
(N’oubliez pas que cette procédure est un exemple; elle ne fonctionnera pas correctement sur votre système car elle appelle une fonction appelée UpdateYesterday, qui effectue la mise à jour réelle.)
Cette macro s’exécute automatiquement chaque fois que le classeur auquel elle est attachée est ouvert. Vous pouvez également modifier le code et le placer dans l’objet ThisWorkbook en changeant simplement la première ligne en ceci:
Private Sub Workbook_Open()
_Note: _
Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.
lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur]
.
ExcelTips est votre source pour une formation Microsoft Excel rentable.
Cette astuce (8451) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Running_a_Procedure_when_a_Workbook_is_Opened [Exécution d’une procédure lorsqu’un classeur est ouvert]
.