recuperation de parties de nom avec split

  • Initiateur de la discussion Initiateur de la discussion sri75
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sri75

XLDnaute Occasionnel
Bonjour, je voudrais recuperer des morceaux de nom du fichier

mes fichiers s'appelent tous doseval_2009_XXX.xls

XXX etant un chiffre entre 1 et 10000

dans la macro qui suit je recupere le chemin, le nom entier du fichier

je voudrais recuperer la partie doseval_2009_ dans ma variable toto1

le numero seul dans toto2

l'extension .xls dans toto3


dans la macro qui suit je n'arrive pas à tout faire, merci d'avance pour votre aide


si j'utilise les fonctions right et left il ne me manque plus que le bout de macro pour récuperer ce qu'il y a entre le deuxième _ et le . de .xls


Sub ff()


toto = ActiveWorkbook.Path

toto2 = ActiveWorkbook.Name

x = toto2
nom = Left(x, InStrRev(x, "_") - 1)

nom2 = Right(x, InStrRev(x, "_") - 5)

end sub
 
Dernière édition:
Re : recuperation de parties de nom avec split

Merci , j'ai trouvé


Sub ff()

chemin = ActiveWorkbook.Path

nom = ActiveWorkbook.Name

debut = Left(nom, 13)

numero = Split(Split(nom, "_")(UBound(Split(nom, "_"))), ".")(0)

fin = Right(nom, 4)


End Sub
 
Re : recuperation de parties de nom avec split

Bonjour,

un peu en retard, mais c'est fait...
Code:
Dim var1 As String, var2 As String
var1 = "tous doseval_2009_XXX.xls"
var2 = Split(Mid(var1, InStrRev(var1, "_") + 1), ".")(0)

bonne journée
@+
 
Re : recuperation de parties de nom avec split

bonjour
une manière de procéder

Nom = "doseval_2009_XXX.xls"
toto3 = Right(Nom, 3) 'ext.
Nom = Left(Nom, Len(Nom) - 4)
toto2 = Mid(Nom, InStrRev(Nom, "_") + 1) 'num
toto1 = Left(Nom, Len(Nom) - Len(toto2) - 1)

à bientôt
 
Re : recuperation de parties de nom avec split

Bonjour,

Avec les nouvelles variables du post #3 :

numero = Mid(nom, 14, Instr(nom, ".") - 14)

Edit : ou si l'on est toujours sur Excel 2003 :

numero = Mid(nom, 14, Len(nom) - 17)

A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour