IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Classe perso et événements


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 4
    Par défaut Classe perso et événements
    Bonjour à tous,

    Je souhaiterais créer des fonctionnalités entre deux tableaux structurés dans Excel, dans deux feuilles différentes.
    J'ai donc pensé à créer une classe perso ayant comme propriétés les deux feuilles et les deux range (tableaux structurés).
    Du coup, pour chaque instance de cette classe, je déclarerais comme propriétés les deux feuilles qui m’intéressent, et ensuite, les deux tableaux qui m’intéressent.

    Pour pouvoir tirer pleinement partie de cette classe, il serait primordiale que je puisse détecter les événements (clique, change...) survenant dans les feuilles (à la modification d'une valeurs des tableaux par exemple).

    J'ai donc créé ma classe perso dans un module de classe et écrit mon code dans ThisWorkbook avec l'instruction WithEvents.
    Mais apparemment, ce n'est pas possible : WithEvents ne peut pas être placé dans ThisWorkbook, ni même dans une feuille.
    Donc première question : Où placer mon code pour y déclarer des instances de ma classe déclenchant des événements ?

    Seconde question : Si plusieurs instances de ma classe ont comme propriété une même feuille, elles risquent de déclencher chacune un événement à partir d'un même événement source (la feuille qu'elles ont en commun). Comment cela sera traité ? Cela ne risquera pas de créer un bug ?

    Merci d'avance et excellente journée !

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par mc222 Voir le message
    J'ai donc pensé à créer une classe perso ayant comme propriétés les deux feuilles
    Ce n'est pas illogique mais est-ce nécessaire ?
    Si tu gères les événements dans Thisworkbook, tu as déjà les fonctionnalités que tu voudrais créer dans ton module de classe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Avec cette procédure événementielle tu détectes le 'change' et avec 'Sh' tu sais sur quelle feuille et avec 'Target' tu as le 'range' concerné

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment renvoyer une classe perso ?
    Par Cyrilange dans le forum Services Web
    Réponses: 5
    Dernier message: 03/05/2006, 16h54
  2. [MFC][Debutant] Une classe perso de CEdit
    Par kiroukou dans le forum MFC
    Réponses: 6
    Dernier message: 21/06/2005, 15h07
  3. Utilisation iterator avec une classe perso
    Par SteelBox dans le forum C++
    Réponses: 19
    Dernier message: 07/03/2005, 11h30
  4. [VB.NET] Instanciation objet (sur class perso.)
    Par DaxTaz dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/05/2004, 11h07
  5. [ JSP ] [ Tomcat ] importer une classe perso
    Par captainpouet dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 11/03/2004, 11h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo