Re : VBA ajouter un objet
Salut adelaidetermote et le forum
J'ai un peu de mal à comprendre ce que tu veux
Dans un second temps je me suis aperçu dans l'interface VBA, qu'il ya juste au dessus de la feuille de saisie des code une liste dans laquelle apparaît Général, worksheet, CommandButton1.
Ouais, ouais... Tu viens juste de découvrir le VBA ?
Un module de classe feuille est surmonté de 2 cases : une case "objet" dans laquelle sont répertorié les "objets" qui existent sur ta feuille, ainsi que ta feuille
Une deuxième case qui liste les macros liées à l'objet de la première case.
Quand tu crées un objet sur ta feuille, s'il est issu de la barre d'outils :
- Formulaire : quand tu lui demandes d'affecter une macro (clic-droit>>affecter une macro), il t'en propose une par défaut (Nom_QuandClic) sur un module général
- Boîte à outils contrôle : Si tu vas directement dans ton module lié à la feuille sur laquelle tu viens de le créer, et que tu regardes dans la case de gauche, son nom a été ajouté => si tu le sélectionnes, Vba crée une macro par défaut (dépend de l'objet), dont le titre apparaît dans la case de droite, et dont la définition apparaît sur la feuille de code (ligne de titre/ligne de fin de macro).
Tu ne peux pas créer un objet à ce niveau !
Un objet réagit à un certain nombre de propriétés ou de méthodes définies, dont les macros qui réagissent à certains actions sur l'objet. Une classe regroupe tous les objets qui réagissent aux mêmes méthodes et aux mêmes propriétés, ça évite de devoir les "créer".
Par exemple
si tu crées un bouton de commande et un bouton de bascule, ils ont les mêmes macros évènementielles, mais pas les mêmes propriétés
Une Zone de liste et une zone de liste déroulante n'ont pas la même macro évènementielle par défaut, ni le même nombre de macros évènementielles prédéfinies.
Enfin... tous ça pour dire qu'il ne faut pas mettre la charrue avant les bœufs sous peine d'aller droit à la catastrophe.
A+
Edit : Salut PierreJean. Petite question : tu le trouves où ton menu développeur sur V.2003 ?