Gestion fichier .txt

Résolu/Fermé
MastJager Messages postés 21 Date d'inscription jeudi 27 avril 2017 Statut Membre Dernière intervention 13 mars 2018 - 8 mars 2018 à 10:11
MastJager Messages postés 21 Date d'inscription jeudi 27 avril 2017 Statut Membre Dernière intervention 13 mars 2018 - 8 mars 2018 à 13:20
Bonjour,

Je veux créer un fichier .txt qui inscrit mes valeurs de sorte à ajouter une tabulation entre chaque données de chaque colonnes mais à la colonne numéro 7 je voudrai faire une saut de ligne.

C'est sur ce dernier point que je suis bloqué.

Voici le code que j'ai réalisé, je pense que ma condition du If n'est pas la bonne.
    'Création du fichier
Open "D:\Users" & NomFichier & ".txt" For Output As #numfich

For Each c In Range("A2:G" & nbeVariable)

If Feuil6.Columns.Count < 7 Then
Print #numfich, c.Value & vtab
Else
Print #numfich, c.Value & vbCrLf;

End If
i = i + 1
Next c

Close #numfich


Merci d'avance
A voir également:

1 réponse

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
8 mars 2018 à 10:51
Bonjour,

nbeVariable
est egal a combien?????????????????
1
MastJager Messages postés 21 Date d'inscription jeudi 27 avril 2017 Statut Membre Dernière intervention 13 mars 2018
8 mars 2018 à 10:53
Nbevariable est configurer avec un Userform au lancement de la maccro, pour l'instant j'ai 76 lignes de données. Il peut donc varier de 1 à 76 actuellement
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 8 mars 2018 à 10:56
Re,

Peut pas etre egal a 1, mini 2:
For Each c In Range("A2:G" & nbeVariable)

et la variable I ??? sert a quoi
0
MastJager Messages postés 21 Date d'inscription jeudi 27 avril 2017 Statut Membre Dernière intervention 13 mars 2018
8 mars 2018 à 10:57
Voici le code complet je ne l'avais pas mis car je ne considérais pas comme important =).
Public nbeVariable As Integer
Public NomFichier As String, Repertoire As String

Sub Création_Fichier_txt()


'############################################
'#################Déclaration################
'############################################

Dim numfich As Long, c As Range, x As Integer
numfich = FreeFile


'############################################
'###############Initialisation###############
'############################################

i = -1
CréationVariables.Show
nbeVariable = nbeVariable + 1


'############################################
'################Programme###################
'############################################


'Création du fichier
Open "D:\Users" & NomFichier & ".txt" For Output As #numfich

For Each c In Range("A2:G" & nbeVariable)

If Feuil6.Columns.Count < 7 Then
Print #numfich, c.Value & vtab
Else
Print #numfich, c.Value & vbCrLf;

End If
i = i + 1
Next c

Close #numfich

On Error GoTo OuvertureFichierErreur
Dim MonApplication As Object
Dim MonFichier As String
Set MonApplication = CreateObject("Shell.Application")

'Ouverture du fichier

MonFichier = "D:\Users" & NomFichier & ".txt"
MonApplication.Open (MonFichier)

Set MonApplication = Nothing
Exit Sub

OuvertureFichierErreur:
Set MonApplication = Nothing
MsgBox "Erreur lors de l'ouverture de fichier..."
End Sub





I est pour moi une variable me permettant de ne pas sélectionner la colonne A car i comme à -1.
Je sais j'aurai pu avoir ce résultat en changeant mon range
0
MastJager Messages postés 21 Date d'inscription jeudi 27 avril 2017 Statut Membre Dernière intervention 13 mars 2018
Modifié le 8 mars 2018 à 11:03
Pour moi le problème ce situe à cette condition : If Feuil6.Columns.Count < 7 Then

Mon fichier .txt me donne actuellement ces données :

x
x
x
x
x
x
x
x

Et je voudrais que le formatage soit le suivant :

x x x x x x x
x x x x x x x


Et oui effectivement elle peut varier de 2 à 76. Je suis débutant en VBA je pense que vous l'avez remarqué. Mais je donne mon maximum ! :).
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 8 mars 2018 à 11:21
Re,
Tout a fait Thierry, je vous arrange ca

    'Création du fichier
    Open "D:\Users" & NomFichier & ".txt" For Output As #numfich
        'boucle pour ecriture cellules Ax a Gx
        For n = 2 To nbevariable
            Print #numfich, Cells(n, 1), vbTab, Cells(n, 2), vbTab, Cells(n, 3), vbTab, Cells(n, 4), vbTab, Cells(n, 5), vbTab, Cells(n, 6), vbTab, Cells(n, 7)
            Print #numfich,      'ligne vide
        Next n
    Close #num
0