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

Messages postés
2
Date d'inscription
mercredi 26 février 2014
Statut
Membre
Dernière intervention
26 février 2014
-
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 

3 réponses

Messages postés
25987
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 juillet 2019
313
0
Merci
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
Messages postés
25987
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 juillet 2019
313
0
Merci
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
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
211
0
Merci
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
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
211 -
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
Messages postés
2
Date d'inscription
mercredi 26 février 2014
Statut
Membre
Dernière intervention
26 février 2014
-
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