Utilisation de variables communes sur plusieurs Worksheet
Bonjour,
Composant avec VBA depuis quelques semaines, je requiers votre aide : je recherche des idées meilleures que les miennes, qui me semblent très "bourrines", afin de faire évoluer un programme.
Mon programme actuel :
Dans une WorkSheet sont renseignées :
- une liste X de Doubles renseignés dans une plage.
- une liste Y (de même taille) de Doubles renseignés dans une seconde plage.
Le Code réalisé dans un Module effectue :
- le calcul d'une liste T, de même taille que X et Y fonction d'un rapport entre X et Y - Doubles aussi.
- le tracé d'un graphique MonGraph représentant les valeurs de T en fonction de X.
À savoir :
- Ces procédures de calculs et de tracé sont commandées par un bouton principal directement placé sur la WorkSheet.
- T et MonGraph sont actuellement déclarées en Public car des procédures d'un autre module apporte des modifications au graphique lorsque demandé et la liste T est utilisée dans un Userform.
Problématique :
La Worksheet où sont renseignés X et Y jusqu'à présent était unique.
L'objectif demandé désormais, est de pouvoir créer depuis une WorkSheet MENU, une copie de la WorkSheet de référence, afin d'obtenir plusieurs WorkSheets de renseignement des données X et Y.
On aurait ainsi une liste X et Y par Worksheet (chaque WorkSheet étant associée à une catégorie distincte).
Le problème étant que mes variables T et MonGraph sont communes à toutes ces WorkSheets.
Ainsi lorsque je change de WorkSheet, la variable T et MonGraph restent déterminée par les données X et Y de la WorkSheet où a été précédemment actionné le bouton de calcul.
Je n'ai pensé pour le moment qu'à forcer le calcul de T et de MonGraph dès le basculement d'une Worksheet à l'autre - je n'ai pas encore réfléchi à comment faire.
Ou encore de réinitialiser T et MonGraph comme "Vide" dès le basculement d'une WorkSheet afin de forcer l'utilisateur à actualiser T et MonGraph depuis le bouton situé sur l'ActiveSheet.
Je viens à vous car je suis certain que mon expérience limitée en VBA m'empêche d'imaginer des solutions au problème plus poussées/mieux pensées.
Comment procéderiez-vous afin de "cloisonner" chaque WorkSheet utilisant pourtant le même programme source ?
En vous remerciant,
Athan.
N.B. : j'ai essayé d'expliquer au mieux et le plus clairement possible l'état actuel du programme et son nouvel objectif. Étant sur portable - le site web Excel Pratique n'étant pas autorisé depuis l'ordinateur où je suis, je ne peux joindre de fichier.
bonjour,
C'est un peu indigeste !
Joint un fichier et pose une question à la fois.
Une fois une liste crée elle est disponible pour tout le monde :
Si tu envisage de créer 2 feuilles identiques c'est à coup sur une mauvaise solution.
Déjà deux listes x et Y sur une même Worksheet, je demande à voir.
Après je peux pas t'en dire plus ce serait aussi nébuleux que ta présentation...
Inutile d'énoncer la manière dont tu envisages les choses expose seulement ce que tu voudrais comme résultat.
A+