Traduction d'une feuille par remplacement de cellules issue d'un tableau

Bonjour,

Je débute dans le VBA. J'ai fait une application. Je souhaite l'avoir en deux langues FR/EN. je me pose des questions sur la méthodologie.

Ce que je pense faire :

J'ai une feuille avec la présentation du projet

Cellule A1 = Présentation

Cellule B1 = Outils

Cellule A5 = Principes

Cellule B7 = Comment ça marche

J'ai une seconde feuille "Localisation" avec mes traductions FR/EN.

IDFREN
PreA1
PreB1
PreA5
PreB7
Présentation
Outils
Principes
Comment ça marche ?
Presentation
Tools
Principles
How does it works

Mon ID correspond aux 3 premières lettre de ma feuille Excel puis de la cellule concernée.

Je pense faire une macro avec 2 boutons, si on clique sur FR : Pour tous les ID commençant par "Pre" ça va remplacer les cellules de la feuille "Présentation" par les données de mon tableau de la colonne FR correspondante...

- Plusieurs interrogations, mon fichier n'est pas très gros, mais dois-je faire les trad de toutes les pages d'un coup ou juste celle où je suis et dès que je change de feuille, ça met à jour les cellules ? Je voudrais que ce soit le plus transparent possible.

Si quelqu'un peut me guider pour commencer, je suis preneur.

Bonne soirée,

Gilles

re-bonsoir,

J'ai fait ce code, il fonctionne, mais je ne suis pas sur qu'il soit bien optimisé :
J'ai un doute sur le fait d'aller chercher la feuille "Localisation" pour compter le nombre de lignes... Peut-on faire une table et que pour chaque ID correspondant à la feuille il fasse le copier/coller ?

J'ai fait 2 fois cette macro en FR ou EN avec le numéro de langue qui change. ça aussi je n'ai pas trouver comment faire avec 2 boutons pour que ça choisisse la bonne langue s'il n'y a qu'une seule macro.

Donc merci par avance pour votre aide.

Gilles

Public Sub TRAD_EN()

Dim Lang As Integer
Dim FinalRow As Integer
Dim Nextrow As Integer
Dim Ce1 As String

    Lang = 3
    Sheets("Localisation").Select
    ' Find the last row of data
    FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
    ' Loop through each row
    For x = 2 To FinalRow
        cel = Mid(Cells(x, 1), 4)
        Sheets("Localisation").Cells(x, Lang).Copy
        Sheets("Présentation").Range(cel).PasteSpecial Paste:=xlPasteValues

    Next
     Sheets("Présentation").Select
End Sub

Super, merci beaucoup !

Re,

Rechercher des sujets similaires à "traduction feuille remplacement issue tableau"