Le langage macro (VBA) fourni avec Excel est assez puissant. Cela signifie que vous pouvez effectuer des tâches assez intenses (et impressionnantes) avec la langue. Certaines tâches peuvent prendre un certain temps. Le problème est que certains utilisateurs peuvent penser que leur ordinateur s’est bloqué à moins qu’il n’y ait une indication à l’écran que la macro est en cours d’exécution.

Il existe deux façons d’aborder une solution à une telle tâche. La première option (et la plus simple) consiste à utiliser la barre d’état pour indiquer la progression de votre macro. Par exemple, vous pouvez ajouter du code à votre macro par lequel il détermine le pourcentage d’achèvement. Une fois que vous avez un pourcentage en main (disons qu’il est stocké dans la variable xPctComp), vous ajoutez simplement la ligne suivante à votre macro:

Application.StatusBar = "Portion completed: " & _   Format(xPctComp, "##0.00%")

Une telle ligne pourrait être ajoutée dans le corps principal de votre macro, par exemple dans la boucle que vous avez qui contrôle le traitement. Lorsque la macro est presque terminée, vous devez ajouter une ligne qui efface la barre d’état, comme suit:

Application.StatusBar = ""

L’autre façon de créer un indicateur de progression consiste à utiliser une sorte de boîte de dialogue qui affiche un indicateur de «jauge de carburant» quant au pourcentage achevé. Il existe de nombreuses implémentations d’un tel concept déjà disponibles sur le Web. Un bon représentant de cette approche se trouve sur le site de John Walkenbach:

http://www.j-walk.com/ss/excel/tips/tip34.htm

_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 (2496) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.