Salut
x_irvine_x a écrit :
bonjour,
je fais actuellement un stage et je dois faire une modélisation d'un système. je bosse sur un userform et avec plein de codes derrières. mais j'aimerai savoir à quoi correspond un module et module de classe. j'ai fais des recherches sur notre ami google mais rien de très explicite.
de plus j'aimerai créer un objet comme un fosse par exemple avec des débits entrées et un débit de sortie. donc je sais pas si c'est possible mais je crois que si avec les fonctions function. ainsi je peux caractériser le comportement de ma fosse dans une zone bien précise. les modules peuvent m'aider pour cela?
merci
Module : feuille de calcul ne recevant que du code VBA et permettant de l'exécuter (à partir d'Excel 5 – avant, c'était sur une feuille de calcul).
<Alt> + <F11> te permet d'aller dans le Visual Basic Editor
en haut à gauche, l'explorateur de projet :
Feuil1(Feuil1) (ou autre) : module de classe "Feuille"
Un module de classe est un module qui dispose de capacités particulières. En double-cliquant dessus, tu ouvres le module
Sur la partie droite, en haut tu as deux cases :
Case de gauche : permet de "sélectionner" l'objet qui existe sur la feuille et sur lequel tu veux travailler.
Case de droite : permet de définir une macro à lancement automatique (suivant l'évènement auquel elle est rattachée).
ex : la sélection de
Worksheet créera la macro
Worksheet_SelectionChange qui se lance dès qu'on change de sélection dans la feuille.
Thisworkbook module de classe "Classeur"
Les macros à lancement automatique dépendent du classeur.
Clic-droit dans la fenêtre de projet>>insertion>>Module
Fait apparaître un dossier module(s'il n'existe pas déjà), contenant les modules généraux, Module1 (ou autre), qui peuvent contenir des macros.
Il y a aussi les modules de classe des Userform.
Un module général peut agir sur tous les classeurs ouverts
un module ThisWorkBook peut agir sur le classeur qui le contient
Un module feuille peut agir sur la feuille liée.
Ce n'est qu'une approche, mais elle permet de comprendre pourquoi certaines instructions marchent sur un type de module et pas sur un autre.
Par exemple une Funtion doit être sur un module général pour apparaître dans la liste des fonction personnalisée.
Feuil1.select créera une erreur si elle est utilisée dans un autre module de classe "feuille", que sur celui lié à Feuil1.
Les types de macros ont aussi des avantages et des restrictions. Par exemple une Function n'est pas prévue pour manipuler les cellules, mais pour retourner un résultat.
Les macros sont des programmes : une suite séquentielle de commandes.
Ce qui implique que tu dois savoir quelles instructions tu vas utiliser, et dans quel ordre.
A+
-------
Plus tu es moins précis, moins les réponses sont plus adaptées!
La qualité et la précision de la réponse sont proportionnelles à celles de la question, et la conditionne.