JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 2011
-
4 janv. 2008 à 14:10
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 2011
-
7 janv. 2008 à 09:48
Bonjour et que 2008 vous apporte ce que 2007 aura oublié de vous laisser
Je développe un outil sous Excel qui sera utilisé dans plusieurs pays européens ou Excel sera installé le plus souvent dans la langue du pays
Je dois supprimer certaines options de menu contextuel mais j'ai un petit soucis pour gérer dans différents langages
Si je liste en utilisant
CommandBars("Cell").Controls(I).Caption j'obtiens l'intitulé en francais
Y a-t-il une codification générique de ces options ?
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 4 janv. 2008 à 23:54
Salut JML,
Comme le Caption est créé dans ton code, il te faudra donc le modifier à l'ouverture du fichier et/ou partout où tu le définis explicitement.
Il faudrait que tu crées une feuille masquée dans laquelle tu inscris tous les Captions en colonne B avec un Index en colonne A, disons. Sous VB6 on a la possibilité d'utiliser les fichiers Ressources qui sont très utilies dans ces cas-là, mais pas sous Excel... La feuille cachée pourra quand même être utilisée de la même façon.
Tu pourrais alors te créer une Function, disons GetCaption(IndexDeMonMenu...)
Si tu as 10 Captions différents, tu auras 10 lignes de 1 à 10 en français, disons. Tu crées 10 autres lignes de 11 à 20 pour l'anglais, 21 à 30 pour l'espagnol ... Puis finalement tu utlises des constantes (0, 10, 20, ...) déclarées en Public dans un module.
Donc, dans ta Function GetCaption, tu utilises ces contantes pour inscrire le bon Caption. (Français 0....Anglais 10....Espagnol = 20....)If Langage 1 then Langue Anglais
ABC.Caption = le menu de la ligne (IndexDeMonMenu + Langue ) '1+10
Ne reste qu'à trouver un moyen de déterminer le langage à l'ouverture et définir quelle constante tu utiliseras durant la session. Tu peux regarder sous Application.International. Je m'en sers pour les versions françaises (2) et anglaises (1), mais je ne connais pas la valeur des autres langues...(?)
MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA.
JM247L
Messages postés443Date d'inscriptionmardi 27 mars 2007StatutMembreDernière intervention 1 mars 20112 7 janv. 2008 à 09:48
Salut MPi,Merci mais en fait c'est ce que je voulais éviter en espèrant qu'il exisreait quelque chose dé paramètré dans VBA de la mêm fàçon que pour les standadrs Copier Copy ; Couper Cut ; Etc...
En fait j'ai éluder en donnant la correspondance Anglais/Langue utilisateur dans le Guide Utilisateur
Merci encore et merilleurs voeux pour 2008
Cliquer "Réponse Acceptée"
Partageons Notre Savoir & Nos Acquis - JML