Bonjour!
J'aimerais optimiser un peu ce code que j'ai créé afin de conserver les premiers caractères d'une variable. Je sais, c'est du travail d'amateur. J'imagine qu'il doit y avoir une façon plus élégante de le faire.
Je vais détailler un peu le but de la macro. La variable est un "numéro de production", qui est unique et qui respecte habituellement des règles de nommage. Voici quelques exemples...
SL1
X001
TEST001
TEST1X04
TEST20210504B
TEST044A
TEST055B-1_2
TEST066C;1_3
EXEMPLETEST
Comme vous le voyez, un numéro de production est habituellement composé d'un préfixe constitué de lettres majuscules non accentuée, d'un nombre variable de caractères, et immédiatement suivi d'au moins un chiffre et éventuellement d'autres lettres. Les autres caractères qui peuvent composer ce numéro de production sont spécifiquement choisis pour ne pas interférer avec le VBA ou le batch.
Un numéro de production peut aussi être constitué d'une simple suite de lettres.
Ce bout de macro sert donc à éliminer tout ce qui se trouve après la dernière lettre du préfixe. J'aimerais trouver une solution plus simple que ce bricolage.
Dim fichierprod
fichierprod = Target.Value
fichierprod = Replace(fichierprod, ";", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "1", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "2", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "3", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "4", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "5", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "6", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "7", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "8", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "9", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "0", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "-", ";;;;;;;;;;;;;;;")
fichierprod = Replace(fichierprod, "_", ";;;;;;;;;;;;;;;")
fichierprod = Left(fichierprod, 20)
fichierprod = Replace(fichierprod, ";", "")
J'en profite pour remercier ceux qui m'ont aidé jusqu'à maintenant. J'ai beaucoup progressé en VBA grâce à vous!