Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

disparition délimiteur de champ lors d'un transfert xls en csv

1 réponse
Avatar
Le Phénomene
Bonjour,
Je dispose d'une feuille de données sur 13 champs/colonnes.
Les quatres dernières colonnes sont rarement complétées (mais nécessaire
pour traitement de mon fichier / considération comme champs vide donc
résultat avec ",,,," a la fin de chaque ligne sur mon fichier csv).
Aprés mon transfert de ma feuille xls en csv (séparateur virgule), je
constate que systématiquement les séparateurs "," de champs à compter de la
quinzième ligne disparaissent sur les champs vides.
Soit les 15 premières lignes avec ",,,," à la fin de chacune ==> Normal car
résultat attendu
Et les lignes suivantes sans mes ",,,," et entraine un rejet de traitement
de mon fichier puisque l'autre système utilisé considère que ces lignes
comportent 9 champs au lieu des 13 attendus.
Voici une partie de mon code pour le transfert xls vers csv :
ChDir "\\Smnef004\services\Fichiers csv\ex"
ActiveWorkbook.SaveAs _
Filename:="\\Smnef004\services\Fichiers csv\ex\" _
& Nom_du_fichier & ".csv", _
FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:=False
ChDir ThisWorkbook.Path

Ceci est énervant puisque mon équipe est obligé de reprendre les fichiers
générés à la main (source d'erreurs) pour ajouter les fameuses ",,,," à la
fin de toutes les lignes suivant les 15 premières.

Merci pour votre précieuse aide.
--
Le Phénomene

1 réponse

Avatar
JB
Bonjour,

Sub ExportTxtChamp()
repertoire = ThisWorkbook.Path
Open repertoire & "x.txt" For Output As #1
Set champ = [A1:M4]
For lig = 1 To champ.Rows.Count
ligne = ""
For col = 1 To champ.Columns.Count
ligne = ligne & champ.Cells(lig, col) & ","
Next col
Print #1, Left(ligne, Len(ligne) - 1)
Next lig
Close #1
End Sub

JB
http://boisgontierjacques.free.fr


On 14 mar, 16:16, Le Phénomene
wrote:
Bonjour,
Je dispose d'une feuille de données sur 13 champs/colonnes.
Les quatres dernières colonnes sont rarement complétées (mais néce ssaire
pour traitement de mon fichier / considération comme champs vide donc
résultat avec ",,,," a la fin de chaque ligne sur mon fichier csv).
Aprés mon transfert de ma feuille xls en csv (séparateur virgule), je
constate que systématiquement les séparateurs "," de champs à compte r de la
quinzième ligne disparaissent sur les champs vides.
Soit les 15 premières lignes avec ",,,," à la fin de chacune ==> N ormal car
résultat attendu
Et les lignes suivantes sans mes ",,,," et entraine un rejet de traitement
de mon fichier puisque l'autre système utilisé considère que ces lig nes
comportent 9 champs au lieu des 13 attendus.
Voici une partie de mon code pour le transfert xls vers csv :
ChDir "Smnef004servicesFichiers csvex"
       ActiveWorkbook.SaveAs _
       Filename:="Smnef004servicesFichiers csvex" _
                    & Nom_du_fichier & ".csv", _
                    FileFormat:=xlCSV
ActiveWorkbook.Close SaveChanges:úlse
ChDir ThisWorkbook.Path

Ceci est énervant puisque mon équipe est obligé de reprendre les fic hiers
générés à la main (source d'erreurs) pour ajouter les fameuses ",, ,," à la
fin de toutes les lignes suivant les 15 premières.

Merci pour votre précieuse aide.
--
Le Phénomene