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 :

C'est la rentrée des Classes !


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 205
    Par défaut C'est la rentrée des Classes !
    Bonjour,
    Pardonnez moi ce titre sous une forme humoristique pour une question triviale :
    Est-il possible de déclarer une même classe pour les 20 TextBox de 2 UserForm quasi identiques et de les instancier de la même manière.
    Si les 2 UserForm sont ouverts en même temps n'y aura-t-il pas de conflit de nommage ?
    Ou dois-je leurs donner des indices (voire des radicaux) différents ?
    Ou faut-il carrément déclarer 2 classes différentes ?
    Merci

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Hello,


    Je sais pas si je comprend bien ta question, mais oui tu peux très bien avoir une textbox nommée TextBox1 sur 2 formulaires distincts.
    Cela m'arrive souvent d'avoir des textbox nommées TxtNom dans 2 formulaires distincts, et je n'ai pas de problème particulier.

    Il fut juste faire attention quand en sélectionne une de bien mettre la textbox de quel formulaire c'est, et donc mettre :

    devant si c'est le formulaire actif, et situ veux d'un autre formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    forms("Form1").textbox1
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 205
    Par défaut
    Désolé si l'exposé manquait de clarté :
    La question porte sur l'utilisation des Modules de Classes : Je vais être amené à traiter simultanément plusieurs Userforms comportant un nombre variable de TextBox
    Appelons les usf1, usf2, usf3 et usf4
    Ils comporteront tous plus ou moins une quinzaine de TextBox qui seront tous nommés tb1 à tb15 et plus si nécessaire...
    Puis-je déclarer un module de classe ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public TBoxes(0 To 20) As ClasseTB
    puis pour chaque usf ouvert :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       For k = 0 To 15
           Set TBoxes(k) = New ClasseTB
           Set TBoxes(k).TBox = usf1.Controls("tb" & k)
       Next k
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       For k = 0 To 18
           Set TBoxes(k) = New ClasseTB
           Set TBoxes(k).TBox = usf2.Controls("tb" & k)
       Next k
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       For k = 0 To 20
           Set TBoxes(k) = New ClasseTB
           Set TBoxes(k).TBox = usf3.Controls("tb" & k)
       Next k
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       For k = 0 To 12
           Set TBoxes(k) = New ClasseTB
           Set TBoxes(k).TBox = usf4.Controls("tb" & k)
       Next k
    Sachant que potentiellement l'un ou l'autre des userform auront vocation à être ouverts simultanément...
    La classe saura-t-elle gérer l'homonymie malgré que les usf.parents soient distincts ?

    Merci de t'être dévoué pour déblayer le terrain !

    A+

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 344
    Par défaut
    Hello,


    Désolé, le week-end, je répond pas au forum, pas trop le temps

    Mais pour te répondre : oui, si tes textbox ont le même nom, mais pas sur le même formulaire, ça posera pas de souci
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 205
    Par défaut
    Très bien. Merci.

    A+

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

Discussions similaires

  1. La rubrique Python fait sa rentrée des classes
    Par f-leb dans le forum Général Python
    Réponses: 19
    Dernier message: 25/11/2015, 20h55
  2. Réponses: 0
    Dernier message: 20/03/2011, 16h50
  3. Est-il possible de faire des classes autoinstanciées ?
    Par All Jinx dans le forum Débuter
    Réponses: 7
    Dernier message: 22/08/2008, 17h36
  4. [JAX-WS] quel est le role des classes générée avec WSGen
    Par solawe dans le forum Services Web
    Réponses: 2
    Dernier message: 05/05/2008, 11h44

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