Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2622 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  {Résolu + bon tutoriel by Galopin}Fonctionnement bouton et var public

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

{Résolu + bon tutoriel by Galopin}Fonctionnement bouton et var public

n°1415439
zephyron1
Posté le 28-07-2006 à 16:58:55  profilanswer
 

Bonjour, ne riez pas je suis à bout. Je tente desespérément à pouvoir traduire mes msgbox en anglais ou en français.
 
Pour cela j'avais dans l'idée de lancer un userform au début de mon programme pour choisir le langage puis selon le choix de l'utilisateur envoyer une variable pour déterminer ce choix.
 
Oui mais là je bloque, aucun moyen avec ça de récupérer une variable et de pouvoir séléctionner le texte qui va être diffusé. En plus aucun moyen de faire autre chose,le programme reste figer sur l'userform quand elle est en modal et l'userform est ignoré en modeless.
 
Pitié help  :(  
 
ça :  
Private Sub CommandButton1_Click()
End Sub
 
Private Sub CommandButton2_Click()
End Sub


Message édité par zephyron1 le 31-07-2006 à 10:18:23
mood
Publicité
Posté le 28-07-2006 à 16:58:55  profilanswer
 

n°1415530
jpcheck
Pioupiou
Posté le 28-07-2006 à 18:41:08  profilanswer
 

en stockant la valeur dans une cellule et en faisant un switch de cette valeur avec 2 textes différents ca marcherait pas ?

n°1415552
galopin01
Posté le 28-07-2006 à 19:55:07  profilanswer
 

Bonjour,
une 'tite démo qui fait ça.
A+

n°1415665
galopin01
Posté le 29-07-2006 à 03:53:19  profilanswer
 

Bonjour,
perplexe ?
 
Je vais essayer d'expliquer...
Peu importe la manière dont le choix est fait ou modifié :  
Si l'utilisateur choisi le français nous dirons mavariable CHOIX = 0
Si l'utilisateur choisi l'anglais nous dirons mavariable CHOIX = 1
Si l'utilisateur choisi le chinois nous dirons mavariable CHOIX = 2
 
La variable CHOIX est déclarée dans Module1 en tête de module avant toute macro :
 
Public CHOIX as Byte
 
Déclarée Publique cette variable est accessible en tout point de l'application (y compris depuis un USF)
 
Private Sub CommandButton1_Click()
CHOIX = 0
End Sub
 
Private Sub CommandButton2_Click()
CHOIX = 1
End Sub

 
La totalité des MsgBox est géré par une fonction (à paramètre) : cMsg
 
Pour le reste la confection du programme ne s'intéresse pas à la langue choisie.
 
Situation 1 :
MsgBox cMsg(1)
 
Situation 2 :
MsgBox cMsg(2)
 
Et la Function cMsg() renvoie le string en Français ou en anglais selon le CHOIX
 

Code :
  1. Function cMsg(i%) As String
  2. i = i + CHOIX * 100
  3. Select Case i
  4. Case 1: r = "1er message en francais"
  5. Case 2: r = "2àme message en français"
  6. Case 101: r = "1st English msg"
  7. Case 102: r = "2nd English msg"
  8. Case 201: r = "Je ne connais pas le chinois !"
  9. Case 202: r = "2ème msg en chinois..."
  10. End Select
  11. cMsg = r
  12. End Function


 
Remarquer la première ligne :
i = i + CHOIX * 100
 
Cette ligne s'occupe de la traduction éventuelle selon une équivalence facile à gérer.
 
Nota : si les msg sont nombreux on écrira :
i = i + CHOIX * 1000 ( ou 10000... )
 
Non, non c'est pas de l'ironie car :
Nota2 : Cette fonction permet aussi de gérer toute l'application :
Si d'entrée de jeux l'utilisateur à choisi l'Anglais, vous pouvez choisir de traduire le texte (String) de vos Formulaires ou de vos feuilles de calcul dans sa langue !
Dans certains cas celà peut se révéler interressant.
 
A+

Message cité 1 fois
Message édité par galopin01 le 29-07-2006 à 03:57:48
n°1416320
zephyron1
Posté le 31-07-2006 à 10:16:35  profilanswer
 

galopin01 a écrit :

Bonjour,
perplexe ?
 
La variable CHOIX est déclarée dans Module1 en tête de module avant toute macro :
 
Public CHOIX as Byte


 
Non pas du tout, je n'avais pas internet ce week-end. Mais merci beaucoup Galopin pour ces explications très bien formulées et claires. Je n'avais pas du tout compris comment on pouvait se servir d'une variable publique. Tu m'as fais beaucoup avancer dans mon travail et je ne te remercirai jamais assez pour ça.
Merci à toi aussi jpcheck, je ne voulais surtout pas utiliser une cellule mais je suis content que tu ais essayé de m'aider. Bye.  ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  {Résolu + bon tutoriel by Galopin}Fonctionnement bouton et var public

 

Sujets relatifs
[RESOLU] Info sur les sessions[resolu] problème avec imagefilter()
résolu[VBA]Personnalisation d'une icone depuis VB (resolu)
[Résolu] Alignement Html[Résolu]Exécutable Netbeans
[Résolu][C# .NET]UserControl hérité -> plantage du designer[Résolu]?? Simplification d'une requete ???
[Resolu] entre count(1) et count(*) lequel ?[RESOLU] EJB : Problème méthode findAll() avec Jonas
Plus de sujets relatifs à : {Résolu + bon tutoriel by Galopin}Fonctionnement bouton et var public


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR