transfert feuille dans document texte

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

P

Philippe63000

Guest
Bonsoir,

Je cherche à copier une feuille excel dans un fichier ASCII.
Le programme ci-dessous convient mais j'ai des problèmes de largeur. La feuille excel contient les mois de l'année écrits en toutes lettres et il faudrait que je les transforme (les raccourcisse). De même j'aimerais que les chiffres qui composent le reste du tableau soient limités à deux chiffres après la virgule.
Mais les instructions :
A = .Cells(i, j).Value
' b = Int(A * 100) / 100
ne sont pas correctes.

Pourriez-vous s'il vous plaît m'aider à résoudre ce problème.

Merci d'avance.


Code:
Sub creer_TXT(plage)
'-------------------------------------------------------------------------------------
chemin="c:\Mes documents\"  
sous_titre ="essai"
Dim Fs As Object, A As Object
Dim i As Long
 
Set Fs = CreateObject("Scripting.FileSystemObject")
Set A = Fs.CreateTextFile(chemin & sous_titre(0) & annee_etudiee & ".txt", True)
With Sheets("Feuil1")
   'For i = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
   For i = 1 To 35
   For j = 2 To 13
        A.Write (.Cells(i, j).Value) & "   "
      Next j
      A.writeLine  ' on passe à la ligne
   Next i
End With
A.Close
Set A = Nothing
Set Fs = Nothing
 
Re : transfert feuille dans document texte

bonsoir,

Code:
'pour ce qui est numérique
If IsNumeric(.Cells(i, j)) Then
   V$ = Format(.Cells(i, j).Value, "#.##") & " "
Else
   V$ = .Cells(i, j) & " "
End If
'pour les mois en lettres 4caract suffisent
V$ = Left(.Cells(i, j), 4) & " "
 
Dernière édition:
Re : transfert feuille dans document texte

Bonjour,

Merci pour votre réponse qui m'aide bien.
Un petit détail cependant me chiffonne encore. Puis-je améliorer l'alignement des colonnes dands le fichier texte?
Voici ce que j'obtiens


1,44 1,43 1,38 3,67 3,93 1,28 ,43 ,22 ,42 1,58 2,31 3,93
Janv Fevr Mars Avri Mai Juin Juil Août Sept Octo Nove Déce
2,84 ,88 1,39 1,61 5,13 1,27 ,67 ,29 ,39 2,38 1,24 4,06
2,66 1,07 1,97 1,73 4,54 1,18 ,62 ,27 ,21 1,47 1,05 3,93
2,48 1,17 1,88 1,76 3,95 1,01 ,56 ,27 ,17 1,2 1,08 4,69
2,31 1,05 1,78 3,83 3,52 ,93 ,49 ,35 ,17 1,06 1,01 5,52
2,11 1,01 1,72 4,8 3,09 ,86 ,6 ,31 ,17 ,92 ,96 4,79
1,92 ,99 1,68 4,56 2,72 ,83 ,55 ,29 ,17 ,8 ,93 4,12
1,78 1,04 1,66 4,09 2,46 1,3 ,51 ,29 ,16 ,7 1,78 4,05
1,7 1,1 1,63 3,64 2,97 1,01 ,47 ,29 ,15 ,64 1,82 5,48
1,69 1,17 1,6 3,24 3,08 ,89 ,45 ,29 ,15 ,6 1,94 6,13
1,64 1,06 1,52 2,98 3,22 ,81 ,43 ,27 ,15 ,55 2,09 4,99
1,56 1,16 1,44 2,84 8,29 1,6 ,52 ,26 ,15 ,68 2,03 4,12
1,51 1,06 1,36 2,7 14, 2,52 ,51 ,24 ,15 ,7 2,01 3,41
1,46 1,1 1,31 2,56 10,8 2,58 ,5 ,25 ,15 ,74 2,43 2,88
1,41 1,08 1,27 2,42 8,54 2,33 ,47 ,27 ,18 ,93 2,96 2,56
1,36 1,15 1,22 2,29 6,89 2,15 ,47 ,26 ,17 1,66 3,11 2,3
1,32 1,24 1,18 2,29 5,47 1,97 ,5 ,22 ,16 4,17 2,83 2,15
1,27 1,19 1,13 3,1 4,2 1,8 ,47 ,22 ,14 3,09 2,59 2,
1,22 1,35 1,07 6,98 3,56 1,65 ,44 ,21 ,14 2,64 2,36 1,86
1,17 2,47 1, 6,13 3,13 1,49 ,42 ,19 ,13 2,4 2,13 1,75
1,12 2,45 ,93 5,28 2,83 1,34 ,39 ,17 ,28 2,16 2,17 1,63
1,07 2,27 ,96 4,47 2,56 1,23 ,36 ,15 ,42 1,92 2,21 1,54
1,03 2,18 ,95 3,84 2,33 1,13 ,32 ,18 ,37 2,31 2,06 1,84
,98 2,09 ,9 3,31 2,12 1,03 ,29 ,21 ,27 2,19 2,03 1,7
,93 2, ,87 3,82 1,91 ,94 ,28 ,19 ,22 2,1 2,49 1,72
,89 1,9 1,56 3,76 1,77 ,86 ,32 ,17 ,19 2,01 2,95 5,16
,87 1,77 1,26 3,44 1,65 ,85 ,32 ,16 ,19 1,86 3, 10,5
,84 1,63 1,62 3,16 1,54 ,85 ,42 ,13 ,18 1,71 3,9 8,25
,81 1,5 1,61 3,21 1,74 ,77 ,36 ,13 ,2 1,57 4,16 6,33
,83 1,62 6,72 1,38 ,69 ,32 ,13 ,17 1,43 4,18 4,99
1,07 1,53 5,59 1,34 ,68 ,3 ,14 6,88 1,3 4,06 4,07
,96 1,47 1,33 ,29 ,18 1,21 3,5
Merci d'avance.
 
Dernière modification par un modérateur:
Re : transfert feuille dans document texte

re

comme ceci :

Code:
'Janvi  Fevri  Mars   Avril  ...
'01,44  01,43  00,00  00,00  ...

'pour ce qui est numérique
If IsNumeric(.Cells(i, j)) Then
   V$ = Format(.Cells(i, j).Value, "00.00") & "  " '2blancs
Else
   V$ = Left(.Cells(i, j) & Space(7, 7))
End If
'pour les mois
V$ = Left(.Cells(i, j) & Space(5), 5) & "  " '2blancs
 
Dernière édition:
- 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.

Discussions similaires

Réponses
5
Affichages
840
Réponses
4
Affichages
692
Réponses
15
Affichages
659
Réponses
10
Affichages
634
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
432
Réponses
8
Affichages
750
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour