fichier texte générer N°

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

drisou

XLDnaute Occasionnel
Bonjour le Forum,

j'ai une soixantaines de fichier texte , le premier fichier est nommé c01.txt et le dernier c60.txt
a l'intérieur de chaque fichier les données sont identique ,a la 3eme ligne j'ai uniquement un N° le 12,
ce que je souhaiterais , c'est que le N°12 soit remplacé par les valeurs numeriques du nom de chaque fichier.

par exemple le fichier c01.txt
a la 3eme ligne ca serait 01
c30.txt
a la 3eme ligne ca serait 30

est ce que cela est possible en VBA?

Merci pour vos réponses.
 
Re : fichier texte générer N°

Bonjour drisou,

Cette macro dans un fichier enregistré dans le même répertoire que celui des fichiers txt :

Code:
Sub ModifierFichierText()
Dim chemin$, i As Byte, wb As Workbook
chemin = ThisWorkbook.Path & "\" 'à adapter
Application.ScreenUpdating = False
On Error Resume Next 'si des fichiers n'existent pas
For i = 1 To 60 'limite à adapter
  Set wb = Nothing
  Set wb = Workbooks.Open(chemin & "c" & Format(i, "00") & ".txt")
  wb.Sheets(1).[A3] = "'" & Format(i, "00")
  wb.Save
  wb.Close False
Next
End Sub
On peut adapter le chemin d'accès.

Edit : supprimé Application.DisplayAlerts = False, remplacé par False après wb.Close

A+
 
Dernière édition:
Re : fichier texte générer N°

Re,

Noter qu'on peut utiliser les formats "\c00" et "\'00", c'est plus habile...

Code:
Sub ModifierFichierText()
Dim chemin$, i As Byte, wb As Workbook
chemin = ThisWorkbook.Path & "\" 'à adapter
Application.ScreenUpdating = False
On Error Resume Next 'si des fichiers n'existent pas
For i = 1 To 60 'limite à adapter
  Set wb = Nothing
  Set wb = Workbooks.Open(chemin & Format(i, "\c00") & ".txt")
  wb.Sheets(1).[A3] = Format(i, "\'00")
  wb.Save
  wb.Close False
Next
End Sub
A+
 
Re : fichier texte générer N°

Bonjour Job75, le forum,

je viens de tester ce code , ca répond exactement a ce que je recherchais.
Merci beaucoup Job75, c'est sympa.

une petite chose,
maintenant que je sais qu'il possible de procéder ainsi en vba,
je me demandais si c'est faisable depuis un seul fichier txt (c01.txt), le dupliquer en une soixantaine,c01,c02,c03,...c60.txt
puis d'appliquer le code ci-dessus.
merci.
 
Dernière édition:
Re : fichier texte générer N°

Re,

Au cas où vous n'auriez pas encore trouvé la méthode :

Code:
Sub CreerFichiersText()
Dim chemin$, wb As Workbook, i As Byte
chemin = ThisWorkbook.Path & "\" 'à adapter éventuellement
On Error Resume Next
Set wb = Workbooks.Open(chemin & "c01.txt")
If Err Then MsgBox "c01.txt introuvable !", 48: Exit Sub
wb.Sheets(1).[A3] = "'01" 'si ce n'est pas encore fait
wb.Save 'enregistre la modification
For i = 2 To 60
  wb.Sheets(1).[A3] = Format(i, "\'00")
  wb.SaveAs chemin & Format(i, "\c00")
Next
wb.Close False
End Sub
A+
 
- 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

Discussions similaires

Réponses
15
Affichages
989
Réponses
20
Affichages
1 K
Réponses
26
Affichages
2 K
Retour