Création d' un fichier Txt sous excel

Résolu/Fermé
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018 - Modifié le 7 sept. 2018 à 08:41
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018 - 9 sept. 2018 à 16:24
Bonjour,

J' ai déjà une macro qui créer mon fichier txt, mais elle le transfert sur le bureau.
Seulement je voudrais que le fichier txt soit déposer dans un dossier.
Ce dossier est une variable le chemin est quasi identique mais le numéro change:
Le top serais que le dossier "boom" sois créer si il n' existe pas.


Ex z:\5212\boom\


Voici à quoi ressemble la macro:

Sub TXt()

'je crée le fichier text de la ligne indiqué en cellule E3
ligne& = Range("E3") 'index par rapport au sheets
Set maplage = Range("Tableau1")
colonne_a_recuperer = Array(1, 2, 3, 4, 5, 8, 6)
texte$ = recuptexte(maplage, ligne, colonne_a_recuperer, nom$)
fichier$ = range("G3")\" & nom & ".txt"
x& = FreeFile: Open fichier For Output As #x: Print #x, texte: Close #x
MsgBox "le texte ci dessous a été enregistré sou le nom " & nom & ".Txt sur votre bureau" & vbCrLf & "avec le texte ci dessous :" & vbCrLf & vbCrLf & texte
End Sub

Function recuptexte(plage, ByVal ligne&, arrcolumns, nom$) As String
Dim myarray, va, i&
myarray = Array("num outil : ", "ref : ", "prod : ", "maintenance : ", "ameliration : ", "Infos : ", "Date: ")
va = Application.Index(plage.Value, Evaluate("ROW(" & ligne - (plage.Row - 1) & ":" & plage.Rows.Count & ")"), arrcolumns) 'mettre les colonnes que l'on veut dans l'ordre voulues
va = Application.Index(va, 1, 0)
nom = va(1) & va(5)
For i = 0 To UBound(myarray): myarray(i) = myarray(i) & va(i + 1): Next
recuptexte = Join(myarray, vbCrLf)
End Function


EDIT : Ajout des balises de code (jordane)

Est ce que quelqu'un peut me aider ?

Flobox49
A voir également:

7 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
7 sept. 2018 à 07:20

fichier$ = range("G3") & "\" & nom & ".txt" 

0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 7 sept. 2018 à 08:10
Bonjour jordane45,
Apres cette correction, j'ai teste depuis un moment sur un MAC pas d'erreur et je ne recupere qu'une seule ligne (ce qui semble normal vu la variable va dans la fonction, quoique!); sur un PC Windows, il y une erreur pour la colonne 8 et stop exec!!!

Flobox49
Vous pourriez mettre un fichier a dispo, car probleme erreur 2023 - Stack Overflow(!!!) et cette affaire d'une ligne??

La fonction de recuperation ne fait prend qu'une ligne du tableau!!!
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
7 sept. 2018 à 08:36
Bonjour
Et merci pour votre aide

oui je peut fournir un fichier sans problème.
oui dois je le déposer ?

C'est normale qu'il y est qu'une ligne de récupérer.

je vais tester la solution a jordan45 et je vous redit

PS: j'aurais besoin encore de vous pour la suite ...
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
7 sept. 2018 à 08:43
Bonjour,

Pour déposer un fichier tu peux utiliser
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers


NB:A l'avenir, pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
7 sept. 2018 à 08:53
Ta solution Jordan fonctionne c'est impeccable,

Sauf que je viens de penser que j'avais un risque d'écraser cette donné, en faisant un simple copier coller ( notre façon de travailler )

pense tu qu'il serait possible d'ouvrir une boite de dialogue ou l'on pourrait indiquer le chemin pour l'export du fichier TXT ?

Merci
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
7 sept. 2018 à 09:19
Dim sFolder As String

' Fenêtre pour sélectionner un emplacement
With Application.FileDialog(msoFileDialogFolderPicker)
   If .Show = -1 Then ' if OK is pressed
        sFolder = .SelectedItems(1)
    End If
End With
    
 If sFolder <> "" Then ' if a file was chosen
        ' *********************
        ' Ton code de sauvegarde ici
        ' *********************


 End If
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 7 sept. 2018 à 09:26
Re,

Vous pouvez quand meme mettre un fichier a dispo car ca me tracasse l'erreur que j'ai avec votre code
Je serai tente de dire: tout ca pour recuperer une seule, mais c'est vous que ca regarde...

Recherche de dossier ou fichier: http://cathyastuce.com/vba/code-source-commun/boite-dialogue.html
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018 > f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024
7 sept. 2018 à 10:42
Je vais déposer le dossier pas de problème. comment je te préviens pour te dire qu'il est dispo ?
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
7 sept. 2018 à 10:45
Désoler Jordan, mais j'ai essayé de faire la manip mais j'ai tout planté !!! Sniff
peut tu me donner le code complet ?

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
7 sept. 2018 à 10:46
Re,

En copiant le lien dans votre prochain post
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
7 sept. 2018 à 13:35
Re,
Après le top du top se serais en gros une boîte de dialogue qui demande qu'elle ligne a besoin d être édité.

Où ça ....
Et qui finit par demander si il y as besoin de créer un mail de dérogation..

Mais peut être trop tard vu a la vitesse que tu programme... Lol ..

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 7 sept. 2018 à 13:57
Re,
Mais peut être trop tard vu a la vitesse que tu programme... Lol .
Il n'est jamais trop tard, c'est une evolution de votre facon de voir (z'etes pas loin de la bonne branche, pas trop loin du sol...)

qu'elle ligne a besoin d être édité.
Ok, ligne Excel comme le choix precedent (E3)

Pour @Mail, piece-jointe, integration corps de message ou ????????
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
7 sept. 2018 à 14:44
Oui le même que le fichier texte !!!

Merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
7 sept. 2018 à 14:47
Oui le même que le fichier texte !!!
Plait-il, piece jointe ou corps de message??????
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
7 sept. 2018 à 14:50
A pardon je n'avais pas compris
Corps de message idéal, est ce possible de faire de la mise en forme !!

Genre mettre en Bleu les lignes Objectif Amélioration et Infos sur l'amélioration

merci, c'est fou la réactivité
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 7 sept. 2018 à 16:39
Re,

Genre mettre en Bleu les lignes Objectif Amélioration et Infos sur l'amélioration
Ce sont des cellules pas des lignes. Infos sur .... je vois, mais Obj.. connais pas !

Pour @Mail, adresse unique ou ??
0

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

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
7 sept. 2018 à 17:37
Re,
En attendant :
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
7 sept. 2018 à 18:01
Wow ça me semble canon

Du coup comment gère-t-on la liste des destinataires est-il possible de la définir par défaut ?

une liste de mail qui peut être rangé dans la feuille action amélioration dans une colonne quelconque à côté du nom des autres personnes ?

Désolé mais je ne comprends pas votre question sur l'objectif amélioration
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
7 sept. 2018 à 18:09
Je viens de voir que vous exporter toute la ligne et en plus au format Excel.... Ne vous embêter pas avec les couleurs dans ce cas.

Je pensais que vous exportier le fichier texte, c est pour cela que je voulais de la couleur pour différencier les lignes mais la c est plus que parfait...

Ce que vous avez fait c est top
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 7 sept. 2018 à 18:50
Re,
Genre mettre en Bleu les lignes Objectif Amélioration et Infos sur l'amélioration
VOus avez ecrit ceci dans votre post 28 et je vous demandais, quelle colonne pour Objectif Amélioration

une liste de mail qui peut être rangée dans la feuille action amélioration
Oui, comme beaucoup de personnes font....... Sera-ce toujours les memes personnes ou il faudra choisir et comment????

Vous avez toujours besoin du fichier TXT????
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
7 sept. 2018 à 18:52
Oui j' ai écrit cela pensant que le mail ressemblerait a un fichier texte.

Une liste de mail ou l on pourra modifier en fonction des personne mais pas besoin de demander à qui envoyer le mail au moment de l édition.

La liste seras prédéfinis dans la " cellule "
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 7 sept. 2018 à 18:59
Re,

Vous avez toujours besoin du fichier TXT????

modifier en fonction des personnes
C'est vous qui voyez, mais bien y penser avant de faire l'envoi.......
Les personnes de cette liste sont toutes destinataires ou autre??
0
ligne - "Open Chemin & nom_Fichier For Output As #Nf"

si j'ai choisi C:\2030\

Je ne comprend pas votre question !

les répertoires outil ? fichiers txt sont a creer dans chaque répertoire d'outil, donc un TXT par outil...

le passage en MP j'ai pas trouver votre liens .... je suis une bique .. je ne vois pas le " bouton" en cliquant sur votre profil.
0
Flobox49 Messages postés 34 Date d'inscription vendredi 7 septembre 2018 Statut Membre Dernière intervention 9 décembre 2018
9 sept. 2018 à 16:24
Suite en MP ..... Enfin...
0