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

Votre réponse

3 réponses

Messages postés
25044
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
365
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
25044
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
365
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
264
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
264 -
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
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

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.