Crée un fichier .txt sans fenêtre à valider

Résolu
Esteban13 -  
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis débutant, et bricoleurs.

Mon but est de crée l'arborescence (si elle n'existe pas) et de placer dedans plusieurs fichier .txt (vide) pour servir de modèle pour des vrai fichiers.

Les noms et les chemins sont prédéfinit par une codification sur une feuille de calcul Open Office.

J'arrive à faire cela, mais suivant la finalité du fichier à créer, je peux avoir jusqu'à 5 fichiers à créer (donc 5 fenêtres d'affilé à valider).

Je sollicite votre aide pour ne pas avoir l'affichage de la boite de dialogue "Enregistrer sous" et donc la validation du nom à effectuer par le bouton "Enregistrer".

Si ce n'est pas possible, il serait bien de crée au pire un seul fichier et de le copier/renommé (dans des répertoires de niveau différents), mais je n'arrive pas à le faire.

Merci

A voir également:

11 réponses

Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 
oui, c'est possible avec la fonction
Application.displayAlerts:=false
0
Esteban13
 
Petites précisions:
j'utilise LibreOffice (que je considère peut-être à tort comme identique à OOO)

j'ai mis le code avant Application.GetSaveAsFilename

mais la fenêtre de VB LibreOffice 3.5 me renvoie
************************
* Erreur de syntaxe BASIC. *
* Symbole inattendu::=. *
************************

et me surligne : displayAlerts
0
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 
Cela doit venir de la syntaxe je pense. Tu utilises quoi comme langage?
0
Esteban13
 
J'utilise l'éditeur de LibreOffice

Au début du fichier, (avant Sub) j'ai ajouté la ligne Option VBASupport 1
(par rapport à l'utilisation du code récupéré d'excel par endroit et je ne me rappel plus pour quelle fonction)

Si je l'écris comme cela: Application.displayAlerts=false
il ne m'indique pas d'erreur, mis j'ai quand même la fenêtre d'enregistrement qui apparait
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 
Essaye:

application.Saved=true
0
Esteban13
 
Alors, placé avant l'enregistrement, cela ne change rien.
Si je le place à la fin de la commande GetSave, je n'ai plus de fenêtre, mais il ne crée plus les fichiers.


voici un bout du code
Dim fFilename As String
Dim folder As String, path As String, nommage As String
Dim path_Index As String

With Worksheets("Macro")
    C = Range("A2:A6")
End With
'creation Index
folder = Range("c_Index").Value
' nom fichier
nommage = Range("n_Index").Value
path = folder+nommage
MkDir (folder)
application.Saved=true '(sans effet)
fFilename = _
Application.GetSaveAsFilename(InitialFileName:=path, _
fileFilter:="Text Files (*.txt), *.txt",application.Saved=true)
Open fFilename For Output As #1
    Close #1
0
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 
Regarde ce lien, tu trouvera peut être une réponse.

http://jacxl.free.fr/cours_xl/cours_xl_jac.html#enreg_oblige

Il ne faut pas utiliser la fonction getsaveasfilename car celle-ci affiche automatiquement cette boite de dialogue.
0
Esteban13
 
Je crois que c'est là que s'arrête ma compréhension.

Si j'ai bien compris, cette macro fonctionne avec le bouton enregistrer.
-Si le fichier n'est pas dans c:\mes documents, il ouvre la boite de dialogue "enregistrer sous" dans c:\mes documents.
-Si le fichier est déjà dans le bon répertoire, il enregistre sans rien dire (ce qui est le fonctionnement normal)

En tout cas, je ne suis pas plus avancé car je ne sais pas l'appliquer à mon export.

Peut-être qu'il me faut me rabattre sur ma deuxième idée de n'en créer qu'un seul et de le copier/renommé.
Mais je ne trouve pas comment faire ces manip.... :-(
0
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 
Je regarderai demain, pour t'écrire un bout de code.
0
Esteban13
 
Ok, merci bien (mais pas forcément demain)
Et peut-être qu'entre temps, quelqu'un d'autre qui passe aura une autre idée.
0
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 
Open "C:\nomdetonfichier.txt" For Append As #1

'Cellule à copier

Print #1, Cells(1, 1).Value

Close #1


0
Esteban13
 
Ok, super

Merci Christof pour ta réactivité

Je n'ai plus qu'une seule fenêtre sur cinq à valider.

Ceci dit, si quelqu'un d'autre à la solution, çà m'intéresse encore.

J'attendrais un peu avant de marquer comme résolu.
0
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 
Normalement tu devrais en avoir 0...

Ils ne faut plus utiliser le getsaveasfilename (car c'est lui qui t'affiche la fenêtre) mais adapter ma formule à ton cas.
0
Esteban13
 
Autant pour moi, je n'avais pas compris le fonctionnement comme cela.

Bin alors je dit champion !

Merci beaucoup
0
Christof422 Messages postés 871 Date d'inscription   Statut Membre Dernière intervention   212
 
dr, bonne journée
0