Problème de variable

Résolu
Signaler
Messages postés
148
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
9 novembre 2013
-
Messages postés
148
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
9 novembre 2013
-
Bonjour à tous,

Je viens chercher de l'aide parce que je suis depuis deux heures sur un probleme qui a l'air simple mais c'est à s'arracher les cheveux.
Je fais un soft de traitement vidéo où on renseigne des paramètres par des Optionbutton. Ces paramètres sont utilisés tout le long de la chaine donc j'associe à chacun une variable booléenne publique ou une variable booléenne publique pour deux (si c'est un paramètre ou son contraire).
Je déclare ces variables dans un module dédié en faisant comme ça:
Public panoramique As Boolean 'Spécifie que la vidéo est panoramique
C'est bien comme ça qu'on fait, non?

Le problème c'est que la variable (disons celle en exemple) est bien détectée comme vraie si je coche l'optionbutton correspondant mais sitôt que j'arrive à la form suivante, elle devient fausse!

Je n'arrive pas à comprendre et je me demande si ce n'est pas une subtilité que j'ignore, vu mon faible niveau de débutant en VB6. En tout cas, dites moi au moins si je m'y prends bien s'il vous plaît.

Merci de me retirer cette fière chandelle du pied !

6 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Peu etre devrais tu au moins changer le nom de l'option Boutton ou du boolean. pour ne pas donner a VB une chance de se tromper.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
SAlut,
Je pense que ton code doit modifer à un moment panoramique (a la sortie d'un form ou autre chose)
Ce que tu peux essayer de faire est la chose suivante.
A l'ARRET
Selectionne panoramique avec ta souris puis  Menu Débogage => Ajouter un Espion.
Dans la fenetre qui s'affiche alors tu fais tu mets

Procédure (toutes les procédures)
Module (Tous les modules)

Type d'espion arrêt si la valeur Change.

Puis tu executes

Le programme passera en pas pas dès que panoramique changera de valeur. tu pourras ainsi voir "qui" modifie sa valeur

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
148
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
9 novembre 2013

A vrai dire, j'ai déjà essayé l'espion avec les mêmes paramètres et ça ne s'arrête pas pendant l'exécution. Sinon, j'exécute aussi pas à pas (F8) et la variable est vraie jusqu'à ce que je change de form. Pour info, voici le changement de Form:

If panoramique.Value = True Then
        panoramique = True
        Nom.Show
        Me.Hide
    Else
        If traditionnelle.Value = True Then
            panoramique = False
            Nom.Show
            Me.Hide
        End If
    End If
End Sub

A la forme suivante, ("Nom") j'ai mis un témoin qui change la Nom.caption en fonction de la variable qui bug. Dès ce témoin, sur le form load, je constate que la valeur a changé.

Précision: ne sachant pas quelle est la valeur par défaut d'une booléenne, je les déclarais toutes fausses au début, et comme j'avais ce pépin, je les déclare Empty. C'est correct?
Messages postés
148
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
9 novembre 2013

Ah, et panoramique.value= true, c'est l'Optionbutton, désolé, c'est pas très clair.
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
11
Salut, C'est peut être à cause de l'initialisation des variables quand tu load la form.

 Drikce 06 (Nouveau !!! Forum Exclusivement Office Et VBA By Mortalino)
Messages postés
148
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
9 novembre 2013

Mea culpa, VB a l'air de toujours se tromper quand on lui donne une occasion. Bien vu Julien, ça m'apprendra!

MERCI!!