J'ai un XLS financier en anglais.
Je ne souhaite pas modifier les formules.
Par contre j'aimerais traduire le texte contenu dans la colonne A.
Est-il possible, par exemple, de traduire le contenu des cellules d'une plage sélectionnée?
Cela donnerai à peu près :
Sélection de la plage à traduire
De cellule ligne 1 à cellule ligne n
Sélection de cellule1
Copier contenu cellule
Ouvrir application de traduction sur le web et traduire
Copier la traduction
Coller en colonne B
Ligne 1 + n ....
Par avance merci à tous ceux qui voudront bien m'aider.
J'ai tardé pour la réponse car en ce moment je suis à l'autre bout du monde : en Argentine.
Voici un petit exemple et encore merci pour ton aide.
Le besoin est le suivant : automatiser la traduction car j'ai des centaines de lignes et ligne par ligne c'est un travail de romain ...
Permettez-moi de m'incruster dans ce fil et d'abord Merci beaucoup à Mikael Thuneberg pour cette fonction très utile.
Ma question est de : comment puis-je faire pour choisir la langue dans une liste, par exemple dans C1 une liste déroulante qui reprend tous les diminutifs des langues. j'ai essayé de rajouter à la ligne proposée par jeanpierre et staple1600
Code:
If Cells(i, 1) <> "" Then Cells(i, 2) = translate(Cells(i, 1).Text, Cells[COLOR=red](3, 1)[/COLOR])
mais malheureusement ca ne fonctionne pas.
et comment puis-je faire qu'à chaque fois je choisis une langue la traduction se fait automatiquement (quelques chose comme worksheet change).
Foufoudora
Si tu va sur le site que j'indique dans mon message 00h40, tu trouveras un fichier Excel à télécharger , avec les différentes langues possibles
Staple1600, merci pour ta réponse. en faite j'ai déjà téléchargé le fichier indiqué et je le trouve excellent.
Je pense que j'ai mal formulé ma demande. Mon souhait c'était de créér une liste de validation en C1 qui contient les diminutifs des langues (chose faite), et au lieu d'utiliser ta macro "test
Code:
Sub test()
Dim i&
For i = 1 To 5
Cells(i, 2) = translate(Cells(i, 1).Text, [COLOR=red]"fr"[/COLOR][COLOR=black])[/COLOR]
Next i
End Sub
je souhaite utiliser une macro évenmentielle "worksheetchange" qui récupère la variable en C1 pour appliquer la langue choisie à la fonction translate.
je ne sais pas si j'étais clair.
Merci par avance
Bonjour Staple1600, le fil, le Forum
J'ai bien téléchargé le fichier je souhaite appliquer ta macro test mais en évenementielle.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim i&
For i = 1 To 5
If Cells(i, 1) <> "" Then Cells(i, 2) = translate(Cells(i, 1).Text, Cells(1, 3))
Next i
End Sub
Mais avec cette macro la fonction translate fonctionne au changement de la selection d'une autre cellule que C1 qui contient la liste de validation.
mon souhait est que si je choisis une langue dans la liste du C1 que le changement se fait automatiquement sur la colonne B; Que l'évenement se fait au changement de la selection de la liste de validation. voir fichier joint. Je ne suis pas très fort en VBA et je ne connais pas quel évenement à aplliquer.
Merci par avance
Après mult recherche il me semble que j'ai trouvé mon bonheur.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&
For i = 1 To 5
If Target.Address = "$C$1" And Cells(i, 1) <> "" Then Cells(i, 2) = translate(Cells(i, 1).Text, Cells(1, 3))
Next i
End Sub
Comme je ne connais pas grand chose en VBA, S'il te plait, peux-tu me confirmer ce code ?
Merci par avance