Insérer un chiffre dans une chaine

Bonjour a tous, j'aimerais pouvoir insérer la valeur d'une variable A juste avant les 3 derniers caracteres d'une chaine. Par exemple en supposant que ma variable s'apelle A et qu'elle contient le chiffre 2, et que la chaine est TEX_01, j'aimerais obtenir TEX2_01. Notez que dans mes chaines seulement les 3 derniers caracteres seront invariable et que A peut avoir les valeurs 1 a 8.

Ex. : TEX_01

master_01

sample_01

Bonjour,

qui revoilà notre Canadien!

Une solution VBA mais il faudrait connaître les circonstances de cette concaténation pour te donner un code réellement efficace.

    [C1] = Left(sData, Len(sData) - 3) & iData & Right(sData, 3)

A+

52capucin.xlsm (14.80 Ko)

Bonjour,

à tester,

Sub test()
A = 8
t = "master_01"
nt = Left(t, Len(t) - 3) & A & Right(t, 3)
End Sub

bonjour a vous deux! Curulis57, malheureusement je ne peux pas ouvrir les fichiers xlsm. Et oui le Canadien

Isabelle, j'ai adapté ton code a mon application. Et ca marche tres bien! Avec ce code je peux faire jouer une piste d'une piece, avec le lecteur multimedia VLC.

   a = 1 'on suppose la piste 1
        fichier = Range("P" & Target.Row).Value  'nom de fichier, exemple: TEX_01 (track export/sd#1)
        nt = Left(fichier, Len(fichier) - 3) & a & Right(fichier, 3) 'exemple TEX1_01  (piste 1 du sd#1)
        errorCode = wsh.Run("powershell.exe –ExecutionPolicy Bypass -File """ & Application.ActiveWorkbook.Path & "\stop_vlc_process.ps1""", 6, waitForReturn) 'nécessaire pour fermer VLC si déja ouvert
        Call Shell("powershell.exe –ExecutionPolicy Bypass -File """ & Application.ActiveWorkbook.Path & "\start_vlc_with_time.ps1"" -time " & totalSeconds & " -media " & nt & ".wav", 6)
Rechercher des sujets similaires à "inserer chiffre chaine"