Récupérer le nom d'un fichier et en supprimer une partie [Résolu]

bamelyy 2 Messages postés mercredi 26 février 2014Date d'inscription 26 février 2014 Dernière intervention - 26 févr. 2014 à 09:53 - Dernière réponse :  djess
- 25 sept. 2014 à 12:56
Bonjour,

Je pense que la solution est assez simple mais je n'y arrive pas par moi même...

J'essaye de faire une macro VBA pour excel 2010 qui enregistrerait ma feuille excel en format texte. Je souhaite nommer le fichier texte selon le nom du fichier excel, en rajoutant a la suite "_version2".
J'utilise ceci:

Dim nomfichier As String
    nomfichier = ThisWorkbook.Path & "\" & ActiveWorkbook.Name & "_version2.txt"
    ActiveWorkbook.SaveAs Filename:=nomfichier, FileFormat:=xlText, CreateBackup:=False

(Je précise que le nom de mon fichier excel est "essai")
Cela me crée un fichier nommé "essai.xlsm_version2"
Comment faire pour supprimer ".xlsm" ?
Je vous remercie par avance pour votre aide!
Bonne journée
Afficher la suite 

6 réponses

Répondre au sujet
jordane45 20580 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 22 avril 2018 Dernière intervention - 26 févr. 2014 à 09:58
0
Utile
Bonjour :
1 - J'ai déplacé ta discussion dans la section VBA du site ( vba <> vb.net !)
2 - Lorsque tu postes du code, merci d'utiliser la coloration syntaxique (je l'ai fait sur ton message).
Commenter la réponse de jordane45
jordane45 20580 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 22 avril 2018 Dernière intervention - 26 févr. 2014 à 10:02
0
Utile
Si tu souhaites récupérer le nom de ton fichier sans son extension tu peux éventuellement spliter le texte..


AwKN = ActiveWorkbook.Name
SplitAwKN = Split(AwKN, ".")
NomFichier = SplitAwKN(0)
Extension = SplitAwKN(1)
 

Commenter la réponse de jordane45
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 26/02/2014 à 10:59
0
Utile
3
Bonjour,
au bout du compte,
1) si pas toujours assurément en .xlsm
nomfichier = Left(ActiveWorkbook.FullName, InStrRev(ActiveWorkbook.FullName, ".") - 1) & "_version2.txt"
ou
2) si ton classeur est toujours assurément en ;xlsm :
nomfichier = Replace(ActiveWorkbook.FullName, ".xlsm", "_version2.txt")

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 26 févr. 2014 à 10:57
Pour Jordane ; se méfier de NomFichier = SplitAwKN(0). Je me suis fait avoir une fois avec un demandeur qui avait (mais ne le disait pas) un fichier dont le nom, sans l'extension, contenant déjà un ".".
bamelyy 2 Messages postés mercredi 26 février 2014Date d'inscription 26 février 2014 Dernière intervention - 26 févr. 2014 à 15:08
Merci beaucoup ucfoutu, c'est exactement ce qu'il me fallait!
Merci beaucoup également. Cela fonctionne parfaitement sous Word.
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.