Création d' un fichier Txt sous excel

Résolu
Flobox49 Messages postés 34 Statut Membre -  
Flobox49 Messages postés 34 Statut Membre -
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

7 réponses

Résumé de la discussion

Une macro Excel génère un fichier texte à partir d'une ligne et l'écrit actuellement sur le bureau, alors que le chemin cible doit être un dossier dont le numéro varie. Le besoin central est que le dossier comme z:\5212\boom\ soit créé automatiquement s'il n'existe pas et que le fichier .txt y soit déposé sans toucher au reste du code. Des échanges portent sur la gestion du chemin dynamique et sur des solutions potentielles pour vérifier l'existence du dossier et l'organiser avant l'écriture du texte. Une nuance utile est que les propositions abordent aussi d'autres aspects du processus (lecture de colonnes, formats, export, éventuels choix de destinataires), sans conclure sur l'état du déploiement.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    
    fichier$ = range("G3") & "\" & nom & ".txt" 
    

    0
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  2. Flobox49 Messages postés 34 Statut Membre
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
  3. Flobox49 Messages postés 34 Statut Membre
     
    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
    1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
       
      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
    2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    3. Flobox49 Messages postés 34 Statut Membre > f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention  
       
      Je vais déposer le dossier pas de problème. comment je te préviens pour te dire qu'il est dispo ?
      0
    4. Flobox49 Messages postés 34 Statut Membre > jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention  
       
      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
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Re,

      En copiant le lien dans votre prochain post
      0
  4. Flobox49 Messages postés 34 Statut Membre
     
    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
    1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    2. Flobox49 Messages postés 34 Statut Membre
       
      Oui le même que le fichier texte !!!

      Merci
      0
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      Oui le même que le fichier texte !!!
      Plait-il, piece jointe ou corps de message??????
      0
    4. Flobox49 Messages postés 34 Statut Membre
       
      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
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,
    En attendant :
    0
    1. Flobox49 Messages postés 34 Statut Membre
       
      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
    2. Flobox49 Messages postés 34 Statut Membre
       
      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
    3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
    4. Flobox49 Messages postés 34 Statut Membre
       
      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
    5. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
       
      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
  7. flobox49
     
    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
  8. Flobox49 Messages postés 34 Statut Membre
     
    Suite en MP ..... Enfin...
    0