Enregistrer Sous par Macro avec condition

  • Initiateur de la discussion Initiateur de la discussion sophievba
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sophievba

Guest
Bonjour à tous,

Comment enregistrer un fichier Sous par macro en mettant une constante (ex : TA) + une partie du contenu d'une cellule (les 5 premières lettres du mot qui se trouve dans la cellule G1) et avec l'extension de fichier en TXT , SVP ?

Ex : comme nom de fichier TAdupon.txt (dupont étant renseigné dans la colonne G1, je récupère que les 5 premières lettres.

Par avance, merci et bonne journée à tous.

Sophie.
 
Re : Enregistrer Sous par Macro avec condition

Bonjour sophievba,

Essaye avec ce code :
ActiveWorkbook.SaveAs Filename:="C:\Donnees\" & "TA" & Left(Range("G1").Value, 5) & ".xls"

En rouge, le chemin sous lequel enregistrer ton fichier.

Edit : Pour un format .txt (cela m'apprendra à lire trop vite)

ActiveWorkbook.SaveAs Filename:="C:\Donnees\" & "TA" & Left(Range("G1").Value, 5) & ".txt"


A plus !
 
Dernière édition:
Re : Enregistrer Sous par Macro avec condition

Au format texte, on ne peut enregister qu'une seule feuille (voir ci-dessous)
VB:
Sub xls2txt()
Const D As String = "TA"
Dim nomfichier$
Sheets(1).Copy
With ActiveWorkbook
nomfichier = D & VBA.Left([G1].Text, 5)
.SaveAs "C:\" & nomfichier, xlText
.Close False
End With
End Sub
 
Dernière édition:
Re : Enregistrer Sous par Macro avec condition

Re,

Super, c'est ce que je souhaitais.
Si je peux abuser un peu, comment renommer ensuite un fichier *.prn en *.txt

* car je ne connais pas le nom du fichier .prn mais je veux conserver le nom et juste modifier l'extension en .txt (depuis la macro)

Merci.
 
Re : Enregistrer Sous par Macro avec condition

Re TempusFugit,

Oui désolée je n'avais pas vu tous vos échanges avant ma réponse, j'étais restée sur ta réponse.

Le fichier prn je l'ai remplacé dans ton code. au lieu de mettre txt j'ai mis prn pour avoir des retour charriot.
Par la suite je voudrais renommer le fichier sauvegardé en TAxxxxx.prn et TAxxxxx.txt

J'ai déjà fait des essais mais ce ne fonctionne pas.

Merci pour tout, tu m'as déjà bien dépanné.

Sophie.
 
Re : Enregistrer Sous par Macro avec condition

Comme dis plus haut

Voir l'aide VBA
Name, instruction


Renomme un fichier, un répertoire ou un dossier sur un disque.

Syntaxe

Name oldpathname As newpathname

La syntaxe de l'instruction Name comprend les éléments suivants :

Élément Description
oldpathname Expression de chaîne indiquant le nom et le chemin du fichier. Cet argument peut contenir le répertoire ou dossier et le lecteur.
newpathname Expression de chaîne indiquant les nouveaux nom et chemin du fichier. Cet argument peut préciser le répertoire ou le dossier et le lecteur. Le nom de fichier indiqué dans l'argument newpathname ne peut pas correspondre à un fichier existant.



Remarques

L'instruction Name renomme un fichier et le déplace le cas échéant vers un nouveau répertoire ou dossier. Elle permet aussi de déplacer un fichier d'un lecteur à un autre, mais elle ne peut renommer un dossier existant que si les arguments newpathname et oldpathname concernent le même lecteur. L'instruction Name ne permet pas de créer un nouveau fichier ou dossier.

Si vous appliquez Name à un fichier ouvert, vous provoquez une erreur. Les fichiers ouverts ne peuvent être renommés avant d'avoir été fermés. Les arguments de Name ne peuvent comporter de caractères génériques (* : multicaractères, ? : caractère unique).
 
Re : Enregistrer Sous par Macro avec condition

RE,

Renommer le fichier et le mettre dans le bon répertoire j'y arrive quand je connais le nom du fichier.

Ex: TATA.prn pour le renommer en TATA.txt je mets

Name "C:\TEMP\TATA.prn" As "C:\TEMP\TATA.txt"

Mais comme j'enregistre le fichier avec la condition constante + 5 premières lettre de ma cellule G je ne sais pas forcément comment va s'appeler le fichier.

Or en faisant :

Name "C:\TEMP\*.prn" As "C:\TEMP\*.txt" ca ne fonctionne pas.

Mais bon c'est pas trop grave je vais continuer de chercher.

Merci encore.

Sophie.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 Macro
Réponses
6
Affichages
319
Réponses
9
Affichages
362
Retour