Enregistrer Sous par Macro avec condition

sophievba

XLDnaute Junior
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.
 

sophievba

XLDnaute Junior
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.
 

TempusFugit

XLDnaute Impliqué
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.
 

sophievba

XLDnaute Junior
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.
 

TempusFugit

XLDnaute Impliqué
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 ?
 

TempusFugit

XLDnaute Impliqué
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
 

sophievba

XLDnaute Junior
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.
 

Discussions similaires

Statistiques des forums

Discussions
312 492
Messages
2 088 895
Membres
103 982
dernier inscrit
krakencolas