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 :

Nom textbox en paramètre


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut Nom textbox en paramètre
    Hello

    J'ai une bête question et google me semble pollué de réponse fantaisistes à ce sujet

    J'ai un formulaire avec plein de textboxes. J'aimerais ajouter un événement à chacune de ces textboxs. Mais, ce serait ennuyant de personnaliser l'évenement pour toutes les textboxes.

    Le top serait d'appeller une procédure avec le nom de la textbox en paramètre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub TextBox1_Change()
    Call MaMacro(thiscontrol.name)
    End Sub
    
    Private Sub TextBox2_Change()
    Call MaMacro(thiscontrol.name)
    End Sub
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Mamacro(nom_textbox as string)
    End sub
    Mais je ne me rappelle plus comment faire. (ce n'est pas thiscontrol.name)

    Quelqu'un a une idée ?
    (et il n'y a pas moyen de mettre un évément pour tous les controls dans un formulaire ?)
    Grand merci pour votre aide

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour
    Utilise plutôt un module de classe gérant ceci.

    Exemple:
    On a un userform avec plusieurs TextBox, et on désire transformer les textes saisis en majuscules.

    1. dans un module standard, définir une variable publique de type collection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Col As Collection
    2. créer un module de classe nommé Classe1 avec le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public WithEvents TB As MSForms.TextBox
     
    'Notre macro destinée à transformer le texte en majuscule
    Private Sub TB_Change()
     
    TB.Text = UCase(TB.Text)
    'ici ta macro par rapport à TB
    End Sub
    3. dans l'initialize de ton userform
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub UserForm_Initialize()
    Dim Ctr As Control
    Dim MaClasse As Classe1
     
    Set Col = New Collection
    For Each Ctr In Me.Controls
        If TypeOf Ctr Is MSForms.TextBox Then
            Set MaClasse = New Classe1
            Set MaClasse.TB = Ctr
            Col.Add MaClasse
        End If
    Next Ctr
    End Sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut
    Génial, c'est .. la classe

    Merci !

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

Discussions similaires

  1. Nom automatique des paramètres
    Par Atatorus dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 02/10/2008, 16h13
  2. [C#.Net] Obtenir le nom d'un paramètre
    Par Ticoche dans le forum Windows Forms
    Réponses: 7
    Dernier message: 25/03/2008, 16h39
  3. Access2000-noms de function paramétrés ?
    Par AndréPe dans le forum IHM
    Réponses: 2
    Dernier message: 17/07/2007, 10h10
  4. Access2000 Noms de champs paramétrés
    Par AndréPe dans le forum Access
    Réponses: 1
    Dernier message: 20/01/2007, 16h52
  5. Passer le nom d'un textBox en paramètre
    Par Poussy-Puce dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/01/2006, 17h30

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