Bonjour Jon, Thierry, le forum,
on est déjà dans le classeur quand on clique sur le drapeau.....
Pour info le procédé se passe comme ça : il y a deux colonnes dans une feuille data qui contiennent les langues anglaises et françaises, une troisième colonne contient le langage choisi - langage qui peut être différent de fr et ang par chargement d'un fichier txt..... jusque là pas de problème
Donc lorsqu'on clique sur le drapeau français il met tous les caption et label du classeur à jour (français, anglais, italien à partir du fichier txt...) et il passe à la feuille suivante qui demande à l'utilisateur de faire d'autres choix mais dans sa langue natale.
C'est à ce passage que se pose le problème :
le classeur par défaut est en français,
Si l'oncharge la langue de Shakespeare on va avoir l' application qui va mouliner, nous afficher la page suivante qui l'espace d'un instant est en français (valeur initiale de la feuille) puis qui après un bref instant (fonction de la machine) se met en anglais. Le problème est que l'utilisateur voit cette transformation et c est précisemment ce que je veux éviter.
D'où mon premier post ou je raconte avoir fait la mise à jour des champs en deux fois : la page suivante, puis le reste du classeur sans résultat même en rajoutant un wait entre les deux fonctions de mise à jour mais sans résultat
ce qui donnait le code suivant pour un click sur une image
'mise a jour du tableau contenant la langue courante à partir du tableau préenregistré
set_current_language (1)
'mise à jour de la deuxième feuille
set_intro
'attente initiallement prévue pour que les champs soient correctement
'affectés
newHour = Hour(Now())
newMinute = Minute(Now())
newSecond = Second(Now()) + 1
waitTime = TimeSerial(newHour, newMinute, newSecond)
Application.Wait waitTime
'mise à jour de tous les champs de l' application
set_language
'on passe au choix de la feuille suivante
Sheets("choix_unit").Select
Dites-moi si j' ai été assez clair et j' espère que vous pourrez m' aider sur ce problème
@+
nebu