Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Re,

Je voulais éviter de passer par un batch car cela obligerai l'utilisateur à double-cliquer dessus, je pensais que par macro cela été possible.

Tant pis, tu m'as bien aidé et appris des choses 🙂

Merci beaucoup.

Sophie.
 
Re : Enregistrer Sous par Macro avec condition

On ne sait touours pas comment est généré le *.prn ?

Si c'est par macro, il suffiit de récupérer la variable nomfichier (voir plus haut)

PS: VBA sait éxécuter un batch sans qu'il soit besoin de cliquer sur un *.bat.
 
Re : Enregistrer Sous par Macro avec condition

Re,


Si je t'ai dit le prn est généré par le bout de code que tu m'as fourni au début du post, j'ai remplacé .txt par .prn.

Pour le batch j'ai mis un shell pour executer le batch depuis la macro mais ce qui m'embête c'est que je dois fournir le batch en plus de la macro aux utilisateurs.

Sophie.
 
Re : Enregistrer Sous par Macro avec condition

Pas nécessairement.

Le commande MSDos peut être inscrit en dur dans le code VBA.
(sans qu'il soit besoin de créer un fichier batch)

Si le *.prn est créer par la macro, il suffit comme je le disais d'utiliser la variable nomfichier, non ?
 
Re : Enregistrer Sous par Macro avec condition

Je viens de tester et cela fonctionne (voir ci-dessous)

Code:
Sub xls2prn2txt()
Const D As String = "TA"
Dim nomfichier$, chemin$, nomtext$
chemin = "C:\"
Sheets(1).Copy
With ActiveWorkbook
nomfichier = D & VBA.Left([G1].Text, 5) & ".prn"
.SaveAs chemin & nomfichier, xlText
.Close False
End With
nomtext = Split(nomfichier, ".")(0) & ".txt"
Name chemin & nomfichier As chemin & nomtext
End Sub
 
Re : Enregistrer Sous par Macro avec condition

Re,

Là je sais plus.

J'ai essayé avec la variable mais ça ne fonctionne pas.

nomfichier & "prn" As nomfichier & "txt

Quand je copie la syntaxe Dos dans la macro j'ai toute la ligne qui s'affiche en rouge.

Je ne suis pas câlée et là je me sens encore plus nulle.
 
Re : Enregistrer Sous par Macro avec condition

Tu as testé la macro de mon message précédent ?
(moi oui, et je certifie que cela fontionne)

Et dans ce cas, il n'est pas besoin d'utiliser MSDos.

PS: Pourquoi ne pas enregistrer directement en txt ?
 
Re : Enregistrer Sous par Macro avec condition

Re, TempusFugit,

C'est exactement ce qu'il me fallait.

Merci énormément et désolée d'avoir été aussi peu réactive.

Bonne journée.

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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…