Exportation texte sans délimiteur avec alignement à droite pour
Résolu
hiphophi
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Mon but est de convertir un fichier excel en txt avec espaces sans séparateur pour faire un import ascii dans un logiciel comptable.
Après plusieurs recherches, j'ai trouvé ce langage qui fonctionne :
Cependant la valeur de la colonne G à l'origine est un chiffre et avec cette exportation
j'obtiens une série de chiffre collés vers la gauche sans décimales :
60012
40013
100025
alors qu' il faudrait :
600.12
400.13
1000.25
J'ai trouvé le langage VBA qui fonctionne pour cela :
Mais cela fonctionne que pour la seule colonne de chiffres, je n'arrive pas à rajouter des lignes supplémentaires de langage pour exporter les autres colonnes qui ne sont pas des chiffres mais composées d'une série de caractères.
Avez vous une idée ?
Je vous remercie bien par avance pour votre aide.
Mon but est de convertir un fichier excel en txt avec espaces sans séparateur pour faire un import ascii dans un logiciel comptable.
Après plusieurs recherches, j'ai trouvé ce langage qui fonctionne :
Sub xlsTOtxt() Dim i As Long FichierCible = Application.GetSaveAsFilename("monfichiertexte", "Fichier texte (*.txt), (*.txt)") If FichierCible = False Then Exit Sub Open FichierCible For Output As #1 If FichierCible <> False Then For i = 1 To Range("A:A").End(xlDown).Row Print #1, Left(Range("A" & i).Value, 1) & Space(1 - Len(Left(Range("A" & i).Value, 1))) & Left(Range("B" & i).Value, 8) & Space(8 - Len(Left(Range("B" & i).Value, 8))) & Left(Range("C" & i).Value, 2) & Space(2 - Len(Left(Range("C" & i).Value, 2))) & _ Left(Range("D" & i).Value, 9) & Space(9 - Len(Left(Range("D" & i).Value, 9))) & Left(Range("E" & i).Value, 21) & Space(21 - Len(Left(Range("E" & i).Value, 21))) & Left(Range("F" & i).Value, 2) & Space(2 - Len(Left(Range("F" & i).Value, 2))) & _ Left(Range("G" & i).Value, 12) & Space(12 - Len(Left(Range("G" & i).Value, 12))) & Left(Range("H" & i).Value, 52) & Space(52 - Len(Left(Range("H" & i).Value, 52))) & Left(Range("I" & i).Value, 3) & Space(3 - Len(Left(Range("I" & i).Value, 3))) & _ Left(Range("J" & i).Value, 3) & Space(3 - Len(Left(Range("J" & i).Value, 3))) & Left(Range("K" & i).Value, 1) & Space(1 - Len(Left(Range("K" & i).Value, 1))) & Left(Range("L" & i).Value, 11) & Space(11 - Len(Left(Range("L" & i).Value, 11))) & _ Left(Range("M" & i).Value, 23) & Space(23 - Len(Left(Range("M" & i).Value, 23))) Next i Close #1 MsgBox "Exportation réussie !" End If End Sub
Cependant la valeur de la colonne G à l'origine est un chiffre et avec cette exportation
j'obtiens une série de chiffre collés vers la gauche sans décimales :
60012
40013
100025
alors qu' il faudrait :
600.12
400.13
1000.25
J'ai trouvé le langage VBA qui fonctionne pour cela :
Sub xlsTOtxt() Dim i As Long FichierCible = Application.GetSaveAsFilename("monfichiertexte", "Fichier texte (*.txt), (*.txt)") If FichierCible = False Then Exit Sub Open FichierCible For Output As #1 If FichierCible <> False Then For i = 1 To Range("A:A").End(xlDown).Row Print #1, Space(12 - Len(VBA.Format(Range("G" & i).Value, "0.00"))) & VBA.Format(Range("G" & i).Value, "0.00") Next i Close #1 MsgBox "Exportation réussie !" End If End Sub
Mais cela fonctionne que pour la seule colonne de chiffres, je n'arrive pas à rajouter des lignes supplémentaires de langage pour exporter les autres colonnes qui ne sont pas des chiffres mais composées d'une série de caractères.
Avez vous une idée ?
Je vous remercie bien par avance pour votre aide.
A voir également:
- Exportation texte sans délimiteur avec alignement à droite pour
- Texte de chanson gratuit pdf - Télécharger - Vie quotidienne
- Les textes ne doivent pas être en retrait à droite et à gauche - Guide
- Transcription audio en texte word gratuit - Guide
- Excel cellule couleur si condition texte - Guide
- Corinne copie un texte sur le web et le colle dans un document avec l'option "texte non formaté" (aussi appelée "texte sans mise en forme"). qu'est-ce qui est conservé ? - Forum Bureautique
3 réponses
Bonjour,
Dans la sub xlsTOtxt() remplace tout simplement
Left(Range("G" & i).Value, 12) & Space(12 - Len(Left(Range("G" & i).Value, 12)))
par
Space(12 - Len(VBA.Format(Range("G" & i).Value, "0.00"))) & VBA.Format(Range("G" & i).Value, "0.00")
Dans la sub xlsTOtxt() remplace tout simplement
Left(Range("G" & i).Value, 12) & Space(12 - Len(Left(Range("G" & i).Value, 12)))
par
Space(12 - Len(VBA.Format(Range("G" & i).Value, "0.00"))) & VBA.Format(Range("G" & i).Value, "0.00")
Bonjour
ça fonctionne !
merci lundi je testerai au bureau l'importation dans mon logiciel comptable
Quadratus, je vais gagner beaucoup de temps de saisie ..
bon we
ça fonctionne !
merci lundi je testerai au bureau l'importation dans mon logiciel comptable
Quadratus, je vais gagner beaucoup de temps de saisie ..
bon we