Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…