Bonjour
A vérifier
Voici le code
Sub fichier_VINCENT()
'
'Création du fichier
'
'---- Déclaration des variables
Dim chemin As String
Dim m As String
Dim resultat As String
Dim ecriture_ligne As String
Dim compteur_lignes As Byte
Dim Entete_Ligne_1 As String, Entete_Ligne_2 As String, Entete_Ligne_3 As String, Entete_Ligne_4 As String
Dim detail_nom As String
Dim detail_prix1 As String, detail_prix2 As String
Dim Enqueue_Ligne_1 As String, Enqueue_Ligne_2 As String
Dim NbLig As Integer
Dim i As Byte
Dim x As Integer
Dim Cel As Range
Entete_Ligne_1 = "Entete ligne 1"
Entete_Ligne_2 = "Entete ligne 2"
Entete_Ligne_3 = "Entete ligne 3"
Entete_Ligne_4 = "Entete ligne 4"
Enqueue_Ligne_1 = "Enqueue ligne 1"
Enqueue_Ligne_2 = "Enqueue ligne 2"
NomFichier = Sheets("Général").Cells.Range("C4").Value
'---- Vérification du champ nom du fichier
If Trim(NomFichier) = "" Then
Reponse2 = MsgBox("Le nom du fichier n'est pas renseigné.", vbOKOnly + vbCritical, "Nom du fichier non rensigné")
GoTo Erreur
End If
'---- Génération du fichier texte
chemin = ActiveWorkbook.Path
m = chemin & "\" & Sheets.Item(1).Cells(4, 3).Value & ".txt"
Open m For Output As #1
'---- Ecriture de l'entête
Print #1, Entete_Ligne_1
Print #1, Entete_Ligne_2
Print #1, Entete_Ligne_3
Print #1, Entete_Ligne_4
'---- Ecriture des lignes détails
With Sheets(2)
'---- Affichage du nombre de lignes
NbLig = .Range("A1").CurrentRegion.Rows.Count
MsgBox NbLig
If Application.Subtotal(103, .Columns("A")) > 1 Then
For Each Cel In .Range("A2:A" & NbLig).SpecialCells(xlCellTypeVisible)
Print #1, Cel & " "; Cel.Offset(0, 1) & " "; Cel.Offset(0, 2)
Next Cel
End If
End With
'---- Eciture enqueue
Print #1, Enqueue_Ligne_1
Print #1, Enqueue_Ligne_2
MsgBox ("Fichier " & NomFichier & " ecrit.")
Erreur:
'---- Fermeture du fichier
Close #1
End Sub