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

VBA Discussion :

Modifier le titre d'un form par une procédure externe


Sujet :

VBA

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Points : 13
    Points
    13
    Par défaut Modifier le titre d'un form par une procédure externe
    Bonjour,
    J'ai un petit probleme VBA avec un userform. Mais le probleme est transposable avec un form selon VB6. Le probleme exposé a valeur d'exemple..mon probleme réelle est autre mais l'exemple l'illustre bien

    Soit un userform de nom UfCalc. J'ai dans le code qui est liée a celui si:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub UserForm_Initialize()
    Call SetCaption(Me)
    End Sub
    SetCaption est une procédure mis dans un module standart:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub SetCaption(oUf as Userform)
    oUf.Caption="Hello"
    End Sub
    Le probleme est que quand je charge UfCalc celui ci ne contient pas l'entete "Hello" avec la procédure précédente (mais le terme Hello apparait sous l'entete du form)..
    Si par contre:
    - je modifie la définition de SetCaption en Sub SetCaption(oUf as UfCalc) cela marche
    - je passe en parametre un controle du formulaire et que j'accede au formulaire grace a la propriété Parent du controle cela marche également!

    Pourquoi les différentes situations précédentes (ne) marchent (pas).. Quelles solutions y a t'il pour gérer cela avec SetCaption(oUf as Userform) - j'ai de nombreux formulaire qui devrait accéder a ce genre de procédures standart..-
    Merci pour toutes idées ou début de piste. Xavier

  2. #2
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Sub SetCaption(oUf as Object)
    oUf.Caption="Hello"
    End Sub

  3. #3
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Pour être un brin plus explicite, ton Me ne renvoie pas un objet de type UserForm
    Mais plutôt un objet de type ufCalc, héritant de la classe UserForm

    Tu aurais donc également pu faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub SetCaption(oUf as ufCalc)
    oUf.Caption="Hello"
    End Sub

    Ce qui aurait tout aussi bien fonctionné
    Mais, j'ai cru comprendre que ce genre de procédure devait être valide pour n'importe quel objet que tu vas générer. Dans ce cas, il convient de mettre Object, et non ufCalc

    Voilà

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/07/2010, 14h49
  2. [MySQL] Modifier le titre d'un champ d'une table
    Par Marc22 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 11/02/2010, 15h31
  3. Réponses: 6
    Dernier message: 07/11/2007, 16h58
  4. [VBA-E] Modifier les propriétés d'un control par une routine
    Par formath dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/03/2007, 10h45
  5. Réponses: 5
    Dernier message: 14/12/2006, 16h50

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