Page 1 sur 1

SOS Traduction Macro VBA

Posté : 28 sept. 2011 12:25
par Bidouille
Si vous arrivez sur cette page, c'est que votre problématique est simple. Vous avez un document MS-Word ou un classeur MS-Excel dans lequel ont été développé des macros. Ces macros utilisent le langage VBA (Visual Basic Application), un langage propriétaire de la société Microsoft. Et maintenant, vous êtes avec OpenOffice et le document en question ne fonctionne plus. Vous souhaitez donc une traduction automatique de votre document dans le Basic d'OpenOffice.

Pourquoi ce n'est pas possible ?

Posté : 06 oct. 2011 10:45
par Bidouille
La 1ere question que l'on peut se poser est pourquoi une traduction n'est-elle pas possible ? Un langage informatique est comme un langage humain. Il a des règles et une syntaxe bien à lui.

Imaginons la phrase en français : « il pleut des cordes » que vous souhaitez avoir en anglais. Pour ce dicton, la traduction exacte est "it's raining cats and dogs" soit "il pleut des chats et des chiens". Pensez-vous toujours qu'une traduction mot-à-mot soit le meilleur moyen d'avoir quelque chose de fiable. La réponse est non. Il faut comprendre le sens de la phrase avant d'en faire une traduction.

C'est donc la même chose pour une macro. Il faut d'abord comprendre ce qu'elle doit faire afin de pouvoir obtenir une équivalence fiable.

Que faire ?

Posté : 06 oct. 2011 11:25
par Bidouille
Vous maîtrisez le VBA
Commencez par décomposer toutes les tâches réalisées par votre macro. Pour chacune de ces tâches élémentaires, il existe certainement un bout de code équivalent en Basic. Tel un Lego, il suffit alors d'emboîter les briques.

Vous ne maîtrisez pas le VBA
La plupart du temps, vous avez envie de poster votre macro en VBA et de dire « traduisez moi ça ! ». Ce n'est bien sûr pas la bonne méthode. D'abord parce que faire ce genre de travail prend du temps et que vous avez affaire à des bénévoles. Ensuite parce que ceux qui utilisent OpenOffice ont pour la plupart abandonné Microsoft. Conclusion : commencez par expliquer clairement ce que fait votre macro, quelle est son utilité et à quel résultat, elle arrive. Illustrer tout cela avec une copie écran montrant les informations de départ et d'arrivé.