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.

Pour exécuter une procédure automatiquement lors de l’ouverture d’un classeur, il vous suffit de nommer la procédure Auto_Open (). Ainsi, la procédure suivante sera exécutée automatiquement à chaque ouverture du classeur le contenant:

Sub Auto_Open()

Dim strMsg As String     Dim intBoxType As Integer     Dim strTitle As String     Dim intUpdate As Integer     Dim strDefault As String     Dim strOldFile As String     Dim intStatusState As Integer

strMsg = "Do you want to save yesterday's transactions?"

intBoxType = vbYesNo + vbQuestion     strTitle = "Automatic Backup Routine"

intUpdate = MsgBox(Msg, BoxType, Title)

If intUpdate = vbYes Then         strMsg = "Which filename would you like use?"

strDefault = "OLD.DAT"

strOldFile = InputBox(strMsg, strTitle, strDefault)

intStatusState = Application.DisplayStatusBar         Application.DisplayStatusBar = True         Application.StatusBar = "Updating past months..."

UpdateYesterday         Application.StatusBar = False         Application.DisplayStatusBar = intStatusState     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()

Beaucoup de gens envisagent d’utiliser Auto_Open comme « l’ancienne méthode » de ce type de macro et Workbook_Open comme la « nouvelle méthode ». Dans un sens qui est vrai; la méthode Workbook_Open est une approche plus orientée objet de ce type de macro que Auto_Open. En pratique, cependant, il y a très peu de différence entre les deux.

_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 (2289) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-Running_a_Procedure_when_a_Workbook_is_Opened [Exécution d’une procédure lorsqu’un classeur est ouvert].