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

[VBA] Generer des .txt a partir de excel

  • Initiateur de la discussion Initiateur de la discussion che0po
  • 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 !

C

che0po

Guest
Bonjour,

malgré le faite que je suis programmeur , je n'ai jamais programmé en VBA et le temps me manque pour pouvoir l'apprendre :/

donc mon probleme c'est de reussir a generer plusieurs fichiers .txt a partir d'excel . j'ai essayé de rechercher dans le forum mais je n'ai pas trouvé exactement ce que je cherche . Il faut que je cree des hosts files


Donc disont que ma page exel ressemple à:

................Colone A .....Colone B .....Colone C........Colone D ......Colone E...... Colone F

Ligne 1 ............AAA ....adresse IP1 ....BBB ..............adresse IP2 .....CCC ........Adress IP3
Ligne 2
Ligne 3
.
.
.

je doit generer des fichier text qui ont pour nom : AAA.txt

//et a l'interieur de chaque fichier generé:

adresse IP1
adresse IP2 BBB
adresse IP3 CCC


et ceci pour chaque ligne ... le fait que j'ai 3243 ligne me decourage à le faire à la main

Merci pour votre aide ! 🙂
 
Dernière modification par un modérateur:
Re : [VBA] Generer des .txt a partir de excel

voici un code que j'ai chifoné avec une base prise sur le net . votre avis ?

EDIT!

Code:
Option Explicit
'

Sub CreerFichierTexte()

    Const ForReading = 1, ForWriting = 2, ForAppending = 8

    Dim NouveauTexte, Valeur As String
    Dim Limite, Boucle As Integer
    Dim TEXTE As String
    
    Dim oFS, NouveauFichier As Object
        For Boucle = 1 To 20
            NouveauTexte = ThisWorkbook.Path & "\" & Cells(Boucle, 1) & ".txt"
            Set oFS = CreateObject("Scripting.FileSystemObject")
            Set NouveauFichier = oFS.CreateTextFile(NouveauTexte, ForWriting)
            
            Limite = Range("A271").End(xlUp).Row
            TEXTE = ""
            TEXTE = TEXTE & Worksheets(1).Cells(Boucle, 2) & Chr(9) & Cells(Boucle, 14).Value & Chr(13) & Cells(Boucle, 3).Value & Chr(9) & Cells(Boucle, 4).Value & Chr(13) & Cells(Boucle, 5).Value & Chr(9) & Cells(Boucle, 6).Value & Chr(13)
            If (IsEmpty(Cells(7, Boucle).Value) = False) Then
                TEXTE = TEXTE & Cells(Boucle, 7).Value & Chr(9) & Cells(Boucle, 8).Value & Chr(13)
            End If
            If (IsEmpty(Cells(Boucle, 9).Value) = False) Then
                TEXTE = TEXTE & Cells(Boucle, 9).Value & Chr(9) & Cells(Boucle, 10).Value & Chr(13)
            End If
            If (IsEmpty(Cells(Boucle, 11).Value) = False) Then
                TEXTE = TEXTE & Cells(Boucle, 11).Value & Chr(9) & Cells(Boucle, 12).Value
            End If
            NouveauFichier.WriteLine (TEXTE)
            NouveauFichier.Close
        Next Boucle
        
End Sub
'
 
Dernière modification par un modérateur:
Re : [VBA] Generer des .txt a partir de excel

Bon ben , merci pour "vos reponses " 🙁

au moins cela ma permit d'aprendre a faire du VBA tout seul comme un grand . 😛

Je met mon code final ici , ca va surement aider des gens🙂

Code:
Option Explicit
'

Sub CreerFichierTexte()

    Const ForReading = 1, ForWriting = 2, ForAppending = 8

    Dim NouveauTexte, Valeur As String
    Dim Limite, Boucle As Integer
    Dim TEXTE As String
    
    Dim oFS, NouveauFichier As Object
        For Boucle = 2 To 270
            NouveauTexte = ThisWorkbook.Path & "\" & Cells(Boucle, 1) & ".txt"
            Set oFS = CreateObject("Scripting.FileSystemObject")
            Set NouveauFichier = oFS.CreateTextFile(NouveauTexte, ForWriting)
        
            Limite = Range("A271").End(xlUp).Row
            TEXTE = ""
            TEXTE = TEXTE & Cells(Boucle, 3) & Chr(13) & Cells(Boucle, 4).Value & Chr(9) & Cells(Boucle, 5).Value & Chr(13) & Cells(Boucle, 6).Value & Chr(9) & Cells(Boucle, 7).Value & Chr(13)
            'MsgBox ("---" & Cells(Boucle, 8) & "--")
            'If (IsEmpty(Trim(Cells(Boucle, 8).Value)) Or Not IsNull(Trim(Cells(Boucle, 8).Value) Or Not Feuil1.Cells(Boucle, 8) = "") Then
            If (Feuil1.Cells(Boucle, 8) <> "") Then
                TEXTE = TEXTE & Cells(Boucle, 8).Value & Chr(9) & Cells(Boucle, 9).Value & Chr(13)
            End If
            If (IsEmpty(Cells(Boucle, 10).Value) = False) Then
                TEXTE = TEXTE & Cells(Boucle, 10).Value & Chr(9) & Cells(Boucle, 11).Value & Chr(13)
            End If
            If (IsEmpty(Cells(Boucle, 12).Value) = False) Then
                TEXTE = TEXTE & Cells(Boucle, 12).Value & Chr(9) & Cells(Boucle, 13).Value
            End If
            NouveauFichier.WriteLine (TEXTE)
            NouveauFichier.Close
        Next Boucle
        
End Sub
'
 
Re : [VBA] Generer des .txt a partir de excel

Private Sub CommandButton1_Click()
Dim Plage As Variant
Dim i As Long
Dim j As Byte
Dim Resultat As String
Dim Tableau As Variant
Set Plage = Sheets("Feuil1").UsedRange.Cells
Tableau = Plage
Open "C:\Users\Numidia\Desktop\AAA.txt" For Output As #1
For i = 1 To UBound(Tableau, 1)
For j = 1 To UBound(Tableau, 2)
Resultat = Resultat & Tableau(i, j) & ";" 'adaptez le separateur
Next
Resultat = Left(Resultat, Len(Resultat) - 1)
Print #1, Resultat
Resultat = ""
Next
Close #1
End Sub

ESSAYER DE VOIR AVEC CE CODE , il vous copie les données du excel dans un fichier text (voirle chemin) sans l'ouvrir
j'espere que ca va vous aider un peu
 
Re : [VBA] Generer des .txt a partir de excel

merci pour votre réponse Numidia ,

mais comme vous pouvez le voir ,je suis l'auteur des 4 premier messages 😀 , et j'ai donc réussi ce que je devais faire et mis le code pour le partage !

PS : pour comprendre mon code , j'ai des champs G , H , I , J avec respectivement des IP et des noms qui ne sont pas tjr présents ... delà viens le test
 
- 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.
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…