{Résolu + bon tutoriel by Galopin}Fonctionnement bouton et var public - VB/VBA/VBS - Programmation
Marsh Posté le 28-07-2006 à 18:41:08
en stockant la valeur dans une cellule et en faisant un switch de cette valeur avec 2 textes différents ca marcherait pas ?
Marsh Posté le 29-07-2006 à 03:53:19
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 :
|
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+
Marsh Posté le 31-07-2006 à 10:16:35
galopin01 a écrit : Bonjour, |
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.
Marsh Posté le 28-07-2006 à 16:58:55
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