Excel VBA : Lenght variable dans fonction MID [Résolu/Fermé]

Signaler
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
-
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
-
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

Messages postés
35
Date d'inscription
vendredi 11 octobre 2013
Statut
Membre
Dernière intervention
23 octobre 2013
11
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
Messages postés
197
Date d'inscription
mercredi 23 juin 2010
Statut
Membre
Dernière intervention
12 mars 2018
19
Ça répond parfaitement à ma question ! :) Mille merci à toi !!