Sub TraductionBEA2()
Dim Formule As String
Dim i As Integer
MsgBox ("Selectionner le fichier référent pour votre traduction ")
'
' Rajouter un titre à la fenêtre de choix du fichier
choix = Application.GetOpenFilename("Fichiers Excel (*.xls; *.xlsx; *.xlsm),*.xls; *.xlsx; *.xlsm", _
Title:="Selectionnez le fichier référent pour votre traduction")
If choix = False Then
MsgBox "Programme arrêté: vous n'avez pas selectionné de fichier"
Else
'
' Affichage dans la fenêtre exécution (CTRL+G pour l'ouvrir) du choix utilisateur
Debug.Print choix
'
' Inclure le Crochet ouvrant au bon endroit pour la formule
'
' Position du dernier séparateur de dossier
i = InStrRev(choix, Application.PathSeparator)
'
' Reconstruction du chemin pour formule excel
choix = Left(choix, i) & "[" & Right(choix, Len(choix) - i)
'
' Construction de la formule
Formule = "=If($A2<>"""",VLOOKUP($A2,'" & choix & "]User Texts'!$A$2:$B$40000,2,FALSE),"""")"
'
' affichage de la formule dans la fenêtre d'exécutionpour vérification
' supprimer ou commenter la ligne lorsque tout est ok
Debug.Print Formule
With ThisWorkbook.Sheets("Feuil1").Range("B2:B40000")
.Formula = Formule
.Value = .Value
End With
MsgBox "Traduction effectuée"
End If
End Sub