Créer un outils de traduction!
Le
Daniel
Bonjour à tous!
J'ai une petite question! Je souhaite créer un outils d'aide à la traduction
(Français vers l'Espagnol). Voici mon idée:
- Dans une feuille "F1", les info à traduire
- Dans une feuille "F2" les traduction
==> le but de l'opération :
- Dans la feuille 2, on met en colonne A le mot francais et en colonne B ça
traduction espagnol!
- Ensuite, là ou j'ai besoin de vous c'est pour créer la Macro qui vas faire
EDITION - REMPLACER dans la feuille "F1" tous les mots de la colonne A par
ceux dee la B.
Je pense en faite à une boucle qui répète l'opération EDITION REMPLACER
jusqu'a ce que tout les terme de la "F2" aient été traduit! Donc la macro
commence par la ligne 1 dans la feuille "F2" :
- recherche dans la feuille "F1" du mot présent sur la feuille "F2" en A1
- remplacre les mot de la feuille "F1" par la trduction qui logiquement ce
trouve en A2 sur le feuille "F2"
- Et ainsi de suite jusqu'a ce qu'en feuille 2 il n'y ai plus de mots à
traduire (dès que la macro arrive en colonne A de le feiulle "F2" et qu'une
cellule la colonne est vide!)
Voilà ! J'espère que vous voyez là ou je veux en venir! Sinon si vous avez
d'autres idées elles sont les bienvenues!
Merci à vous tous!
J'ai une petite question! Je souhaite créer un outils d'aide à la traduction
(Français vers l'Espagnol). Voici mon idée:
- Dans une feuille "F1", les info à traduire
- Dans une feuille "F2" les traduction
==> le but de l'opération :
- Dans la feuille 2, on met en colonne A le mot francais et en colonne B ça
traduction espagnol!
- Ensuite, là ou j'ai besoin de vous c'est pour créer la Macro qui vas faire
EDITION - REMPLACER dans la feuille "F1" tous les mots de la colonne A par
ceux dee la B.
Je pense en faite à une boucle qui répète l'opération EDITION REMPLACER
jusqu'a ce que tout les terme de la "F2" aient été traduit! Donc la macro
commence par la ligne 1 dans la feuille "F2" :
- recherche dans la feuille "F1" du mot présent sur la feuille "F2" en A1
- remplacre les mot de la feuille "F1" par la trduction qui logiquement ce
trouve en A2 sur le feuille "F2"
- Et ainsi de suite jusqu'a ce qu'en feuille 2 il n'y ai plus de mots à
traduire (dès que la macro arrive en colonne A de le feiulle "F2" et qu'une
cellule la colonne est vide!)
Voilà ! J'espère que vous voyez là ou je veux en venir! Sinon si vous avez
d'autres idées elles sont les bienvenues!
Merci à vous tous!

Poser une question


Voici un bout de code.
Je ne remplace pas le mot à traduire, mais je place sa traduction dans la
cellule voisine.
Il s'agit d'écrire le mot à traduire dans la cellule A1 de la feuille F1.
Dans la feuille F2 en colonne A, tu mets les mots français et en colonne B
leurs traductions
Sub Traduire() 'macro principale
Dim Mot As String
Mot = TraduireMot(Sheets("F1").Range("A1"))
If Mot <> "" Then
Sheets("F1").Range("A1").Offset(0, 1) = Mot
Else
MsgBox "Aucune traduction n'a été trouvée"
Sheets("F1").Range("A1").Offset(0, 1) = "N/D"
End If
End Sub
Function TraduireMot(Mot As String) As String
Dim Recherche, Adresse
Set Recherche = Sheets("F2").Range("A:A").Find(Mot)
If Not Recherche Is Nothing Then
Adresse = Recherche.Address
TraduireMot = Sheets("F2").Range(Adresse).Offset(0, 1)
End If
End Function
Michel
Cependant, vu ma problématique, la macro doit absolument remplacer en F1 la
valeur par sa traduction! Je pensais à la boucle qui répète l'opération
recherher la valeur de la cellule A1 de F2 dans toute la feuille F1 et de la
remplacer par la valeur de la cellule B1 de F2! La macro descendrai toute
seule de ligne pour passe à la traduction de A2 et La boucle répète
l'opération jusqu'à ce que la macro tombe sur une cellule vide dans la colone
A de F2!
Je vais quand même essayé d'exploiter ce que tu m'as fait mais si tu (ou
quelq'un d'autre) arrive à traduire mon souhait, je prends volontier!
Merci à vous tous!
Essaie :
Sub Traduire()
Dim Plage As Range, c As Range, Remplacement As Range
Sheets("F1").Select
Set Remplacement = Range("A1", Range("A65536").End(xlUp))
For Each c In Remplacement
On Error Resume Next
Var = c.Value
c.Value = WorksheetFunction.Index(Range("feuil2!A:B"), _
Application.Match(c.Value, Range("feuil2!A:A"), 0), 2)
If Var = c.Value Then
MsgBox c.Value & " : Mot sans concordance"
End If
Next c
End Sub
Cordialement.
Daniel
"Daniel"
C'est quasiment ça sauf que ça ne traduit pas! ça marque "Mot sans
concordance" même si en F2 il y a la traduction en collone B!
Aussi, si il n'y as pas de traduction, la macro n'est pas obligé de dire
qu'elle n'as pas trouver la concordance, elle passe directement au suivant!
Peut tu me re-bidouiller cet macro !
Merci beaucoup, beaucoup !
Remplace feuil2 par F2.
Daniel
"Daniel"