Tableur multilangue
Bonjour à tous !
J'ai un petit soucis.
Je cherche à créer un fichier multi-langues DE / FR / IT
J'ai une table avec les différentes langues qui modifie des cellules liées dans d'autres feuilles.
En menu (haut de page de chaque feuille) j'ai 3 boutons qui permettent le choix des langues.
Si je clique sur FR, l'action suivante se produit : (quand je suis sur la feuille "Settings_Systeme" c'est OK)
Sub Langue_FR()
' Langue_FR Macro
Sheets("Settings_Systeme").Select
Rows("3:3").Select
Selection.Copy
Rows("2:2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False
Application.CutCopyMode = False
Range("A1").Select
End Sub
Mon problème est le suivant :
Je ne souhaite pas devoir me rendre sur ma page ("Settings_Systeme") à chaque fois que je choisis une autre langue...
Je souhaite pouvoir faire le choix de langue depuis n'importe quelle page.
Existe-t-il un code qui permette de modifier (copier/colller texte) de lignes dans une feuille déterminée sans que la macro se "déplace" sur cette feuille ? (--> genre jeu de "ping pong")
J'ai essayé avec :
Sheets("Settings_Systeme").Rows("3:3").Select --> Mais ça ne fonctionne pas.
Merci d'avance pour vos contributions.
Cordialement
Willau
En ROW 1 j'ai les titres de mes colonnes
En ROW 2 j'ai les textes qui apparaissent dans les cellules liées (dans d'autres feuilles)
En ROW 3 j'ai mes textes en allemand
En ROW 4 j'ai mes textes en français
En ROW 5 j'ai mes textes en italien
Bonjour,
Il existe potentiellement beaucoup de solutions différentes ... à ton problème de fichier Multilangues ...
Pour déterminer laquelle serait la plus adaptée ...
Peux-tu joindre ton fichier ... sans tes données confidentielles ... bien sûr ...
Voilà
Merci pour ton intérêt !!
Je ne suis qu'au début de ma structure.
Les options DE / FR / IT sont actives sur les deux pages.
Sur la page "SETTINGS_SYSTEME" cela fonctionne.
Sur la page principale les références sont fausses comme précédemment expliqué.
Je souhaite éviter ce jeu de "ping pong" d'une page à l'autre...
Je me permets pour le coup d'évoquer un autre soucis...
Dans ma feuille DB (Banque de données) je centralise toutes les informations de ce monitoring...
Cela me permettra de remettre à zéro tout le fichier en effacant une seule ligne.
Dans feuille2, je peux insérer un "maintenant" pour déterminer la date et l'heure d'une action...
Est-il également possible d'éviter ce "ping pong" d'une page à l'autre ?
Merci pour l'intérêt porté à mes soucis.
Cordialement
Willau
Re,
Dans la mesure où tu ne veux jongler qu'avec trois langues ... ci-joint une proposition lègère, sans VBA ...
Il te suffit de faire dépendre tes Textes de la cellule B2 - dans SETTINGS_SYSTEME ...
Ci-joint ton fichier ...
Bonjour James007
Merci pour ta réponse.
Je n'arrive malheureusement pas ouvrir le fichier que tu m'as renvoyé.
??
Salut James007
Merci pour ta proposition.
Je me suis quand même concentré sur ma première idée et j'ai trouvé ma réponse avec le code suivant:
'_____________________________________________
Sub Langue_FR()
' Langue_FR Macro
Application.ScreenUpdating = False 'masque le début du déroulement de la macro
Set Feuille = ActiveSheet 'Garde en mémoire la feuille sur laquelle je travaille
Sheets("SLang").Select 'Sélectionne la feuille SLang (settings language)
Rows("3:3").Select 'Sélectionne la ligne 3
Selection.Copy 'Copie la ligne sélectionnée
Rows("2:2").Select 'Sélectionne la ligne 2
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Coller le contenu copier, mais uniquement en mode "contenu texte"
Application.CutCopyMode = False 'Désactive la sélection "copier"
Range("A1").Select 'Sélectionne la cellule A1
Feuille.Select 'Revient sur la feuille gardée en mémoire --> feuille précédente active
Range("A1").Select 'Sélectionne la cellule A1
Application.ScreenUpdating = True 'Enlève le masque de déroulement macro
End Sub
'_____________________________________________
Il y a tout de même un "déplacement sur ma feuille "Settings_Systeme" (que j'ai renommé SLang), mais ce n'est qu'une demi-seconde qui est nécessaire pour l'exécution de la macro, ce qui est pour l'heure acceptable.
Je reste ouvert à toute autre proposition.
Encore merci pour ton intérêt et pour ta disponibilité !
Cordialement
Willau
Re,
Content que tu aies pu trouver la solution à ton problème ...