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 :

Variables globales


Sujet :

VB 6 et antérieur

  1. #1
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut Variables globales
    Salut,
    Je récupère des valeurs de certains champs dans des variables sur une feuille secondaire. Je la ferme et je voudrai afficher à un moment quelconque ces variables sur ma feuille principale.
    J'ai essayé avec une variable mais ça plante.
    Quel est le moyen ou m'y suis-je mal pris?

    Merci

  2. #2
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Sans plus de détails ... difficile ...

    Où sont déclarées tes variables ? Ce sont des propriétés de la feuille principale ? Elles sont dans un module ? Publique ?

  3. #3
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Salut

    Tant que ta feuille est chargée en mémoire (visible ou non), tu peux accéder à ses variables globales en nommant d'abord le nom de la feuille:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VarLocale = NomFeuille.VariableGlobale
    Tes variables globales se comportent comme des propriétés de ta feuille.

  4. #4
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Sur une feuille secondaire j'ai une variable: Dim VarGlobales(0 To 4) As String que je définis.
    Je ferme ce formulaire et sur le formulaire principal je veux réafficher n'importe quand ces variables.

    @Zazaignée: d'après ce que j'ai compris j'ai mis sur ma feuille principale après avoir fermé la secondaire: MsgBox (Form2.VarGlobale(0)) mais il me dis Méthode ou membre de donnée introuvable.

    Merci à vous.

  5. #5
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    essai ceci :
    sur ta feuille secondaire tu déclare ta variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public  VarGlobales(0 To 4) As String
    et sur ta feuille princimal tu l'appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaVar = FeuilleSecondaire.VarGlobales(0)
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  6. #6
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    La variable public je dois bien la déclarer en dehors de toute procédure? J'ai lu le tutoriel des varaibles mais il ne parlent pas précisément des variables globales.
    Mais si je la déclare en Dehors, j'ai une erreur, et si je la met Dans une procédure Private Sub ça plante aussi.

    Dois je mettre la déclaration dans une fonction publique ou pas?
    Je suis égaré là

  7. #7
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    euh chez moi ca marche impect.

    dit moi est que ta variable varGlobales est modifier dans la feuille secondaire ??car peut etre que ca marche mais comme ta variable est vide tu ne t'en rend pas compte.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  8. #8
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Mais ou je définis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public VarGlobal(0 To 4) As String
    ?

    Quand je le met en dehors de tout j'ai une erreur à l'exécution...

  9. #9
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Quand tu parles de récupérer des valeurs de "champs", s'agit-il de contrôles (comme des textbox)?

    Si c'est le cas, inutile d'utiliser des variables.

    Il suffit de faire Form2.Hide et d'utiliser tous les noms de contrôles de Form2 dans Form1.

    Le problème des questions que tu poses, c'est qu'elles sont toujours très vagues et presque jamais accompagnées de code.
    On est donc obligé d'essayer de deviner ce que tu veux faire.

    Essaye, à l'avenir, d'être un peu plus explicite, tu n'en seras que mieux aidé.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  10. #10
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    tu doit declarer ta variable dans la partie declaration. Juste en dessous de "Option explicit" (si tu l'utilises) sinon tout en haut.

    et quel est l'erreur que tu as ??
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  11. #11
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    J'ai l'erreur quand je mes ma variable en tableau:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public VarGlobal(0 To 4) As String
    Mais quand je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public VarGlobal As String
    le programme se lance.

    L'erreur est justement:
    Des constantes, chaines de longeur fixe, tableaux, types définis par l'utilisateur et insctructions Declare ne sont pas autorisés comme membres Public de module d'objet

  12. #12
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    oui c'est vrai si tu veux utiliser le contenu d'un champs (textbox, combobox etc ...).

    tu doit d'abord cacher le feuille en question (suttout ne pas la decharger en memoire sinon ca ne vaut plus la peine). comme le dit AlainTech.

    Ensuite faire un truc de ce genre :
    form1.text1.text si tu veux veut utiliser le textbox 1 du formulaire 1.

    Vraiment faudrais etre plus clair dans tes questions
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  13. #13
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Mais pourtant je me trouve clair
    Mais ça ne fait pas tourner du programme pour rien? Je veux dire la cacher...

    Mais merci je vais essayer

  14. #14
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    pour resoudre enfin (je l'espere) ce probleme.
    concernant cette erreur :

    Des constantes, chaines de longeur fixe, tableaux, types définis par l'utilisateur et insctructions Declare ne sont pas autorisés comme membres Public de module d'objet
    procedure à suivre
    1. cree un module (simple).
    2. declrare ton tableau : Public VarGlogales (0 to 4) as string
    3. Maintenant dans tous tes formulaires pour avoir acces a cette variable, fait comme si elle etait locale. C'est a dire tu fait juste
    MaVar = VarGlobales(0)
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  15. #15
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Ah oui en effet ça fonctionne là.
    Mais ça entraine un autre problème: sur mon formulaire principal j'ai dans mon menu "Quitter" qui renvoit vers ce code:

    Donc là mon programme se ferme entièrement.
    Mais si je ne fais pas quitter à partir du menu mais que je clique sur la croix rouge en haut à droite, ce form principale disparait mais mon form secondaire tourne toujours.
    Je ne sais pas comment execiter des action sur la pression de ce bouton...

  16. #16
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Citation Envoyé par sovo
    pour resoudre enfin (je l'espere) ce probleme.
    concernant cette erreur :

    Des constantes, chaines de longeur fixe, tableaux, types définis par l'utilisateur et insctructions Declare ne sont pas autorisés comme membres Public de module d'objet
    procedure à suivre
    1. cree un module (simple).
    2. declrare ton tableau : Public VarGlogales (0 to 4) as string
    3. Maintenant dans tous tes formulaires pour avoir acces a cette variable, fait comme si elle etait locale. C'est a dire tu fait juste
    MaVar = VarGlobales(0)
    Ah j'ai écris trop vite. Par contre, qu'entends-tu par module? Tu veux dire que je dois refaire un Form pour ça?

  17. #17
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    apparement tu n'utilise pas une feuille MDI.

    mais c pas grave essai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    private form1_Unload()
         end 
    end sub
     
    ' ca devrai marche mais si ca ne marche pas essai ca :
    'plus pratique il decharge toutes les autre formulaire en memoire
     
    private form1_Unload()
        dim ctl as form
     
        for each ctl forms
                unload ctl 
        next
    end sub
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  18. #18
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par Anduriel
    Ah j'ai écris trop vite
    Quoi ca ne marche plus ??

    Citation Envoyé par Anduriel
    qu'entends-tu par module?
    un plus plus gros please.

    pour creer un module tu fait :
    1ere methode :
    - fait un clic droit sur l'explorateur des projets
    - ensuite choisi ajouter
    - click sur module et cole le code

    2eme methode
    - sous edition il y a une icone (ajouter une feuille)
    - click sur module et cole le code
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  19. #19
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    C'est bizarre aucun de ces codes ne fonctionnent...

  20. #20
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Quel code ??

    ceux ci
    Citation Envoyé par sovo
    mais c pas grave essai ceci :

    Code:

    private form1_Unload()
    end
    end sub

    ' ca devrai marche mais si ca ne marche pas essai ca :
    'plus pratique il decharge toutes les autre formulaire en memoire

    private form1_Unload()
    dim ctl as form

    for each ctl forms
    unload ctl
    next
    end sub
    un instant je vais faire des test.
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Variable globale / Propriété des threads
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 03/10/2003, 10h49
  2. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20
  3. Variable "globale" (dans plusieurs templa
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/06/2003, 19h22
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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