Transmettre un classeur à un collègue anglais.

J'ai fait un classeur avec des tas de fonctions, formules et macros VBA sur ma version française d'excel. Je dois le transmettre à un collègue qui a une version excel. Que faut-il faire ?

Les formules excel "de base" seront automatiquement traduite chez ton collègue. Cependant celles de l'utilitaire d'analyse ne seront pas traduites automatiquement. Il vaut mieux donc les éviter tant que possible.
Si tu es amené à faire ce genre de choses régulièrement, tu peux prévoir dans ton application de détecter la version de l'application : chaque pays a un code que tu peux récupérer par l'une ou l'autre de ces instructions :

  • Application.International(xlCountryCode)
  • Application.International(xlCountrySetting)

Pour traduire les fonctions tu trouveras sur excelabo différentes aides dans les classeurs référencés ci-dessous.
Sinon il y a effectivement quelques autres problèmes en version anglaise :

  • les noms de feuilles en dur dans les macros. Le plus simple en VBA est de donner un nom interne à tes feuilles de la façon suivante : Sélection une feuille dans l'arborescence par exemple : Feuil1 (TOTO) et la renommer en Sht_accueil. L'utilisation en VBA est des plus simples : écrire Sht_accueil.Activate au lieu de Sheets("TOTO").Activate idem pour les autres propriétés de la feuille. Attention au code Sheets.Add qui créer une nouvelle feuille "Feuil1" ou autre
  • Les noms d'objets Ex : Zone de texte 1, Rectangle 2, Ellipse 3, Groupe 4 etc.. Pour avoir les noms corrects créer une macro automatique et cliquer sur les objets. Les noms deviennent pour du code FR ou US : ActiveSheet.Shapes("Text Box 1").Select ActiveSheet.Shapes("Rectangle 2").Select ActiveSheet.Shapes("Oval 3").Select ActiveSheet.Shapes("Group 4").Select etc

Astuce illustrée par ces classeurs
vbalist
dma-traductionformules
av-traducfonctions

Auteurs : ,

Mots clefs associés à cette page : ,