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

VB 6 et antérieur Discussion :

[VB6] TypeOf ne marche pas avec les Label ?


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 135
    Points : 61
    Points
    61
    Par défaut [VB6] TypeOf ne marche pas avec les Label ?
    Bonjour,

    Je cherche à identifier les labels d'un formulaire pour pouvoir changer le texte (faire un multi-langue) voici mon code (de tête) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim ctrl as controls
     
    For Each ctrl In Me
       If TypeOf ctrl Is Label Then 
           MsgBox "Label"
       End If
    Next
    Mais cela ne fonctionne pas ; si je change Label par Timer (car il y a un timer dans mon Formulaire, ça fonctionne, il est bien identifier, alors pourquoi pas la Label ???)

  2. #2
    Membre éprouvé
    Avatar de ridan
    Inscrit en
    Avril 2003
    Messages
    710
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2003
    Messages : 710
    Points : 1 126
    Points
    1 126
    Par défaut
    Salut

    Essaye ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
         Dim controle As Control
        For Each controle In Me.Controls
            If TypeOf controle Is VB.Label Then
                controle.Caption = "test"
            End If
        Next

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 135
    Points : 61
    Points
    61
    Par défaut
    Ca ne marche pas non plus.

    Il n'y a pas une fonction qui me permettrai de recuperer le type d'un objet au format string car il semble que TypeOf fait partie de l'instruction IF ?

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    car il semble que TypeOf fait partie de l'instruction IF
    Puis-je te demander, avant de continuer, de bien "peser" ce que tu as écrit là.... puis de nous exposer tes conclusions ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 135
    Points : 61
    Points
    61
    Par défaut
    Bien en cherchant de l'aide sur TypeOf, j'ai trouvé que cette fonction été associée à l'instruction "If Then Else". Je vois pas où est le soucis. Je suis pas un expert de VB6, alors peut-être que je n'emploi pas les bon termes mais j'essai d'être le plus clair possible.

    Ma conclusion c'est que TypeOf fonctionne avec un Timer mais pas avec un Label ... bizard comme fonction.

    Alors si quelqu'un a une méthode permettant de recupérer le type d'un label se serai sympa.

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je te demande simplement de mesurer la différence entre ce que tu as dit :
    TypeOf fait partie de l'instruction If
    qui tend à dire qu'une instruction If inclue un TypeOf
    et ce que tu aurais dû dire :
    TypeOf ne peut être invoqué que dans une expression conditionnelle (If)
    Voilà tout, et ce n'est pas la même chose !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 135
    Points : 61
    Points
    61
    Par défaut
    Ok d'accord, ces nuances me sont pas automatique mais tu as parfaitement raison.

    Ceci dit sa ne résoud pas mon soucis.

    Je cherche depuis tout à l'heure, et à chaque fois tous les exemples que je trouve donne le code que j'ai cité plus haut à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If TypeOf Ctrl Is Label Then ...
    ce qui dans mon programme est toujours faux malgrès la pésence de Label.

    Je ne comprend pas

  8. #8
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    Si tu essaie qqch du genre

    msgbox TypeOf(Formname.Labelname)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 135
    Points : 61
    Points
    61
    Par défaut
    J'ai essayé mais ça ne marche pas non plus, j'ai un message d'erreur du genre (je me souvient pas exactement) : "Instruction Is attendu"

  10. #10
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Bon (je suis dans un bon jour) et contre promesse de faire dorénavant attention à la précision de ce que tu écris (c'est important !)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Command1_Click()
      Dim toto As Control
      Set toto = Command1
      MsgBox TypeName(toto)
    End Sub

  11. #11
    Membre éprouvé
    Avatar de ridan
    Inscrit en
    Avril 2003
    Messages
    710
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2003
    Messages : 710
    Points : 1 126
    Points
    1 126
    Par défaut
    le code que j'ai posté marche parfaitement chez moi sur vb6 ...

    Tu peux essayer avec la fonction typename de jmf qui fonctionne correctement, sinon crée un projet qui reproduit ton prob et poste le ici

    ++

  12. #12
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Je crois bien que son erreur provient du fait qu'il a écrit control avec un s !

  13. #13
    Membre éclairé
    Inscrit en
    Septembre 2005
    Messages
    617
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 617
    Points : 733
    Points
    733
    Par défaut
    lol

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 135
    Points : 61
    Points
    61
    Par défaut
    Merci sa marche parfaitement avec TypeName

  15. #15
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Points : 4 674
    Points
    4 674
    Par défaut
    Oui, mais......
    Cà marche parfaitement avec la réponse de Ridan (je dirais même qu'elle me parait meilleure !... je n'ai donné la mienne que pour t'éveiller !....)
    Je le répète donc : As Control sans s indû, c'est tout !

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

Discussions similaires

  1. vlookup ne marche pas avec les variables saisies ?
    Par Novice_vba dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 30/08/2013, 14h55
  2. Réponses: 11
    Dernier message: 12/04/2011, 17h30
  3. [Hibernate] Hibernate ne marche pas avec les servlets!
    Par IM2009 dans le forum Hibernate
    Réponses: 3
    Dernier message: 23/11/2009, 22h29
  4. event.target marche pas avec les images
    Par tuxout dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/08/2006, 17h46
  5. [CSS] Bug IE avec height ne marche pas avec les %
    Par El Riiico dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 23/06/2005, 17h11

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