Comment passer des variables ? [Résolu]

Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Dernière intervention
19 novembre 2011
- - Dernière réponse : whombat
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Dernière intervention
19 novembre 2011
- 11 oct. 2011 à 15:09
Bonjour à tous,

Je suis en VB 2010 mais je suppose que c'est pareil en 2008...

Voilà : je voudrais créer un Module dans lequel je déclare toutes mes variables globales. Puis, dans la feuille Main, me servir de ces variables. Je n'y arrive pas. Il doit sûrement falloir déclarer le module quelque part mais je ne trouve pas comment (et je sue pourtant...).

D'autre part, j'ai déclaré, dans la feuille Main, une variable Public 'Public FondDeLaFenêtre as string = "ControlDarkDark"' (la couleur que je veux au départ pour ma form, mais que l'utilisateur peut changer, d'où la variable.

VB plante en disant qu'une valeur String n'est pas une couleur déclarée dans le System.Drawing... Je veux bien, mais alors, c'est quoi qui est déclaré dans le System.Drawing ? Et si c'est un Long (par exemple), on trouve où le tableau des équivalences du nom en String et de la valeur en Long ?

Si je me trompe, criez fort... Ça me permettrait de déclarer, par exemple, 'PUBLIC FondDeLaFenetre as Long = 125365445'. Non ?

Deux petits tuyaux qui me rendraient grand service. Il faut que j'arrive à comprendre (ça ne veut pas rentrer...) comment ça marche. Pas grand chose pour l'humanité mais un grand pas pour moi. D'avance merci.

Cordialement,

Whombat.

Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Dernière intervention
19 novembre 2011
3
Merci
J'ai trouvé ma réponse :

[url]}http://www.vbfrance.com/codes/NET-COMBOCOLOR-TOUTES-COULEURS-DANS-COMBOBOX_43112.aspx/url

Cordialement,

Whombat.

Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 121 internautes nous ont dit merci ce mois-ci

Commenter la réponse de whombat
Messages postés
241
Date d'inscription
jeudi 18 janvier 2007
Dernière intervention
3 novembre 2011
0
Merci
Une couleur est de type "Color" :

Public FondDeLaFenêtre As System.Drawing.Color = System.Drawing.Color.Red

Simon
Commenter la réponse de The Meteorologist
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Dernière intervention
19 novembre 2011
0
Merci
Ok, Merci pour cette bonne réponse.

Comment je fais pour déclarer mes variables globales au niveau d'un Module pour qu'elles soient effectives dans toutes mes forms ?

Cordialement,

Whombat.

Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Commenter la réponse de whombat
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 décembre 2018
51
0
Merci
Salut

Puis, dans la feuille Main, me servir de ces variables. Je n'y arrive pas


c'est à dire
dans le main
moduletruc.tavariable
Commenter la réponse de cs_ShayW
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Dernière intervention
19 novembre 2011
0
Merci
Merci pour cette réponse mais j'ai un doute (peut-être pas du tout légitime d'ailleurs) :

Tu veux dire, par ex, dans ModuleTruc :
Public nomDeLaVille as String = "Marseille"

Dans la form Main, ou Option, ou Autre :

Ville = ModuleTruc.nomDeLaVille

C'est ça ?

Je croyais qu'il y avait une façon de déclarer la variable Globale, une fois pour toutes et pour toutes les forms, du genre :

dans ModuleTruc :
Public nomDeLaVille as String = String.empty

Dans la form Main, ou Option, ou Autre :
Ville = nomDeLaVille

Et, évidemment, si la valeur de nomDeLaVille change dans Main (en Paris par ex.), dans Options on aura la nouvelle valeur automatiquement, cad Paris et non plus Marseille.

Cordialement,

Whombat.

Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Commenter la réponse de whombat
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 décembre 2018
51
0
Merci
dans ModuleTruc :
Public nomDeLaVille as String = String.empty

Dans la form Main, ou Option, ou Autre :
Ville = nomDeLaVille

c'est bon aussi à condition que nomDeLaVille
est seulement déclaré dans ton module
et pas dans ton form Main
Commenter la réponse de cs_ShayW
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Dernière intervention
19 novembre 2011
0
Merci
Re-merci pour cette bonne réponse.

Après plein d'essais, je suis rassuré, votre tuyau fonctionne parfaitement. C'est ce que je croyais avoir (pourtant...) fait mais ça ne fonctionnait pas. J'avais dû coincer mon code quelque part.

Par contre, j'ai une question subsidiaire. Dans mes essais, ça plantait et j'ai trouvé : c'était la variable sur la couleur. En fait, une couleur (ou plusieurs, ou toutes, je n'ai pas fait tout le tour) qui est donnée par la fenêtre 'Propriété' (F4), dans l'onglet 'System', c'est le cas de la couleur 'ControlDarkDark' par ex., n'est pas prise en compte par l'objet System.Drawing.Color.

Outre le fait que je vois pas bien la logique la dedans, cela implique la questions : y a-t-il un doc avec les couleurs acceptées et l'exemple coloré, pour voir à quoi ça correspond ? Certes, on peut certainement les trouver au coup par coup dans ces fameux onglets de la fenêtre Propriété, mais on a pas la vue d'ensemble.

Cordialement,

Whombat.

Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Commenter la réponse de whombat
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Dernière intervention
26 décembre 2018
51
0
Merci
Salut

pas trop compris tu veux un document qui
illustre chaque couleur
http://en.wikipedia.org/wiki/Web_colors
Commenter la réponse de cs_ShayW
Messages postés
188
Date d'inscription
mercredi 12 octobre 2005
Dernière intervention
19 novembre 2011
0
Merci
Il y a deux façons de coder :

Public FondDeLaFenêtre As System.Drawing.Color = System.Drawing.Color.Red

et

Public FondDeLaFenêtre As SystemColors = SystemColors.Red

si j'ai bien compris...

Problème : les exemples de couleurs que l'on a dans les propriétés BackColor ou ForeColor ne fonctionnent pas avec ces deux Systems. Par exemple, la couleur ControlDarkDark de la fenetre 'Propriété' n'existe dans aucun des 2 Systems.

Donc, il faudrait la liste avec la réelle couleur en exemple (parce que la liste, sinon, on l'a déjà dans le library de Microsoft... mais sans couleur...) aussi bien pour le System.Drawing.Color que pour le SystemColors.

De plus, avoir une seule couleur en exemple, si cela existe, n'apporte pas grand chose. C'est mieux que rien, certes, mais if faudrait les avoir toutes, ou du moins un certain nombre ensemble, sous les yeux, pour se faire une réelle opinion et donc réaliser le choix le plus adapté.

Ai-je été plus clair ?

Cordialement,

Whombat.

Prédire l'avenir est particulièrement aléatoire, 
surtout lorsqu'il s'agit du futur.
Commenter la réponse de whombat

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.