recuperation de parties de nom avec split

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:

nat54

XLDnaute Barbatruc
Re : recuperation de parties de nom avec split

Bonjour,

Sous excel ca donne ça
à "traduire" en VBA ensuite
 

Pièces jointes

  • Classeur4.xls
    14 KB · Affichages: 57
  • Classeur4.xls
    14 KB · Affichages: 44
  • Classeur4.xls
    14 KB · Affichages: 51

sri75

XLDnaute Occasionnel
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
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

Bebere

XLDnaute Barbatruc
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
 

job75

XLDnaute Barbatruc
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:

Discussions similaires