Excel VBA : Lenght variable dans fonction MID

Résolu
Bonjour,

Tout est dans le titre :)
j'essaie de pouvoir variabiliser l'argument length de la fonction MID.

Mon besoin est d'etraire une chaine de caracteres incluse dans une chaine de caracteres plus grande. Il me faut recuperer systematiquement depuis le 12 caractere jusqu'au 6 eme inclus avant la fin de la chaine initiale.

J'ai donc essayé :
 
ComName = Mid(Cells(3, 1).Value, 12, (Len(Cells(3, 1)) - 5))

Mais l'argument "length" est ignoré, ainsi que lorsque je fais plutot :

test = Len(Cells(3, 1))
MoinD = test - 5
Cells(1, 5) = MoinD
ComName = ""
ComName = Mid(Cells(3, 1).Value, 12, MoinD)

Du coup je ne sais pas si c'est faisable. Peut être faut il que je parte dans une autre voie ?
Merci d'avance pour votre aide, je ne vois plus trop comment avancer la :)

2 réponses

  1. Bonjour,

    Peut-être ceci, si j'ai bien compris ta demande ..; le string d'origine étant en cellule E5 et le résultat placé en E6 dans mon exemple
    (la chaine en E5 doit bien sur avoir une longueur suffisante)

    Sub test()
    tsource = Range("E5").Value
    tdestination = Mid(tsource, 12, Len(tsource) - 12 - 5)
    Range("E6").Value = tdestination
    End Sub

    Thierry
    Akadev

    ------------------------------------------------
    Logiciel revisité de Sudoku sur Windows 8 :
    http://apps.microsoft.com/windows/fr-lu/app/aka-sudoku-hot-or-cold/2cdc407a-0d44-4772-b125-e0821fd93bca

    Jeu match 3 Online sur Windows 8 :
    http://apps.microsoft.com/windows/fr-lu/app/aka-match-3-online/49c3c770-e0c9-4f70-a776-4892c6cc5ccd
    0
    1. Ça répond parfaitement à ma question ! :) Mille merci à toi !!
      0