Accueil | Ce site | CV | Excel | Livre dor | Macros XL4 | Modèles | VBA
Il sagit dun module regroupant plusieurs utilitaires que j'ai créés, auxquels je fais régulièrement appel dans mes développements. Jinsère systématiquement ce module dans tout classeur contenant du code VBA.
MOutils contient actuellement (novembre 2002) 1 fonction et 3 procédures, brièvement présentées ici.
Des pages spécifiques leurs sont consacrées :
La plupart des programmes réalisés en VBA comportent au moins une zone de dialogue (objet UserForm de VBA) permettant à lutilisateur deffectuer un choix et/ou de fournir une information (figure 1).

Fig. 1 - Exemple de zone de dialogue où une information
est attendue de lutilisateur.
Quand lutilisateur clique sur le bouton OK, il est impératif que linformation attendue ait été fournie. Si ce nest pas le cas, au lieu de poursuivre le traitement, il faut laisser à lécran la zone de dialogue et afficher un message explicatif (figure 2).

Fig. 2 - Le message à afficher si lutilisateur na pas fourni linformation requise.
La fonction Controle (sous VBA, lemploi daccent dans les noms de variables, de fonctions et de procédures est à proscrire) sert à tous les contrôles de saisie a posteriori nécessaires dans un UserForm, au moment de la validation.
Il sagit de loin, de lélément principal du module MOutils. Je l'ai développée il y a de nombreuses années, à l'époque dExcel 3 ou 4, avec l'ancien langage macro (VBA est apparu avec Excel 5). Cette fonction est à ce point fondamentale à mes yeux, que lorsque jai découvert VBA, la première tâche que je me suis assignée a été le portage de cette fonction.
Sa capacité à améliorer la sécurité des documents Excel est un des principaux atouts de VBA : lune des façons les plus simples est de laisser lutilisateur ne disposer à tout moment que dun classeur dont toutes les feuilles sont protégées. La saisie de données et la génération détats se font en utilisant des menus spécifiques à lapplication, permettant de lancer les différents traitements. Pendant chaque traitement, les feuilles sont déprotégées, puis reprotégées avant que lutilisateur ne récupère la main.
Cest à cela que servent les procédures Protege et Deprotege (sans accent, comme la fonction Controle).
Si un classeur est nécessaire à lexécution du programme, et quil est déjà ouvert, il ne faut pas le réouvrir sous peine de perdre les éventuelles modifications intervenues depuis son dernier enregistrement.
Cest ce que fait AppelAutoDocument qui commence par essayer dactiver le document (ce qui équivaut à aller le chercher dans le menu Fenêtre pour lamener au premier plan). En cas déchec uniquement, la procédure ouvre le document.