Extraire partie du nom de fichier
Le
Manu

Bonjour,
J'ai des noms de fichiers de ce style : mon_fichier_etc 05-2013.xslm
Le début du nom de fichier est toujours différent mais c'est toujours du
texte, moi ce qui m'interesse, ce sont les numeros, et surtout les 2
premiers qui représente le mois (05).
En faite je souhaiterais que dans ma cellule A1, il mette mai si c'est
marqué 05 dans le nom de fichier, si c'etait 02, il devrait me mettre
Février.etc
Merci
Manu
J'ai des noms de fichiers de ce style : mon_fichier_etc 05-2013.xslm
Le début du nom de fichier est toujours différent mais c'est toujours du
texte, moi ce qui m'interesse, ce sont les numeros, et surtout les 2
premiers qui représente le mois (05).
En faite je souhaiterais que dans ma cellule A1, il mette mai si c'est
marqué 05 dans le nom de fichier, si c'etait 02, il devrait me mettre
Février.etc
Merci
Manu
Dim X As String
X = "mon_fichier_etc 05-2013.xslm"
MsgBox Mid(X, InStrRev(X, "-", Len(X)) - 2, 2)
Retourne : 05
MichD
---------------------------------------------------------------
Dim X As String
X = "mon_fichier_etc 02-2013.xslm"
Range("A1") = Format(DateSerial(Year(Date), Mid(X, InStrRev(X, "-",
Len(X)) - 2, 2), 1), "MMMM")
MichD
---------------------------------------------------------------
mêmes... Il faudrait aller chercher les 2 premiers chiffres du nom du
fichier (et peu importe la longueur du nom du fichier) car ces 2 premiers
chiffres représentent tjrs le mois
Manu
"MichD" kt62te$uef$
Les 2 chiffres le plus à droite, le plus à gauche????
Moi je veux bien, mais donne DES exemples
de types différents de noms de fichiers que
tu peux rencontrer!
MichD
---------------------------------------------------------------
Oui, ce sont les 2 premiers chiffres qui représente le mois et c'est cela
qui m'interesse.
titi 05-2013.xlsm : je souhaite voir arriver Mai en A1
Lili_et_mimi 02-2013.xlsm : je souhaite voir arriver Février en A1
Manu
"MichD" kt65pq$7pk$
exemples que tu as affichés
Dans le bout de code suivant, tu n'as qu'à remplacer le
nom du fichier "mon_fichier_etc 02-2013.xslm" par celui
que tu désires. Où éprouves-tu un problème?
Dim X As String
X = "mon_fichier_etc 02-2013.xslm"
Range("A1") = Format(DateSerial(Year(Date), Mid(X, InStrRev(X, "-",
Len(X)) - 2, 2), 1), "MMMM")
MichD
---------------------------------------------------------------
Je souhaite que cette macro fonctionne avec n'importe quel nom de fichier,
j'ai plus d'une centaine de fichier qui ont tous des noms differents et avec
une longeurs differentes, mais le seul point commun de ces fichiers est que
les 2 premiers chiffres sont des N° de mois, et c'est cela que je souhaite
extraire.
Si je prend ton code, il faudrait que je mette tous les noms de fichiers,
c'est impossible... et en plus il y en à dont je ne connais pas encore le
nom.
Ais-je été plus clair ?
Manu
Si je prend le code"MichD" de news: kt67ac$c9p$
le nom du fichier dont tu veux extraire le mois?
Il s'agit alors d'attribuer à la variable X ce nom de fichier.
Tu peux traiter autant de noms de fichier que tu désires
dans une boucle où tu extrais le nom du fichier.
OÙ SONT CES NOMS DE FICHIERS???????????????
MichD
---------------------------------------------------------------
mail un fichier xxxxx 05-2013.xlsm
Je l'ouvre (le fichier dont je veux extraire le mois, est obligatoirement
ouvert) et je veux ensuite prendre les 2 premiers chiffre comme mois de ce
fichier qui est en face de moi.
Mais je ne connais pas toujours les noms de fichiers, c'est pour cela que je
mettrai cette macro dans le classeur de macro personnel
"MichD" kt68lf$g7u$
Cette macro met le mois du fichier en A1 (en supposant que ces
chiffres existent dans le nom du fichier) dans la feuille
active du classeur actif au moment d'exécuter la macro.
'-------------------------------------
Sub test()
Dim Wk As Workbook, X As String
On Error Resume Next
Set Wk = ActiveWorkbook
X = Wk.Name
With Wk
If TypeName(.ActiveSheet) = "Worksheet" Then
.ActiveSheet.Range("A1") = Format(DateSerial(Year(Date), _
Mid(X, InStrRev(X, "-", Len(X)) - 2, 2), 1), "MMMM")
End If
End With
End Sub
'-------------------------------------
MichD
---------------------------------------------------------------