Enregistrement en csv par VBA pour export SAP
Résolu
Dubi21
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
Dubi21 Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
Dubi21 Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je rencontre un problème au niveau du format de mon fichier excel pour exporter sur SAP avec une sauvegarde CSV par ma programmation vba.
Donc j'ai mon code VBA qui enregistre en csv, le format semble correct (même visuel qu'un enregistrement manuelle en csv) mais lorsque je l'importe sur SAP, ça ma met que le format n'est pas correct. La seul chose qui change c'est la poids du fichiers 1.91ko pour ma sauvegarde vba et 1.88ko pour une sauvegarde manuelle.
J'ai intégré un code de ce type pour mon enregistrement CSV
Sub SaveAsCSV()
Dim Range As Object, Line As Object, Cell As Object
Dim StrTemp, chemin As String
Dim Separateur As String
chemin = ThisWorkbook.Path & ""
Separateur = ";"
Set Range = ActiveSheet.UsedRange
Open chemin & nom2 & ".csv" For Output As #1
For Each Line In Range.Rows
StrTemp = ""
For Each Cell In Line.Cells
StrTemp = StrTemp & CStr _
(Cell.Text) & Separateur
Next
Print #1, StrTemp '= " "
Next
Close
End Sub
Auriez vous une idée d’où pourrait provenir mon problème?
merci
Je rencontre un problème au niveau du format de mon fichier excel pour exporter sur SAP avec une sauvegarde CSV par ma programmation vba.
Donc j'ai mon code VBA qui enregistre en csv, le format semble correct (même visuel qu'un enregistrement manuelle en csv) mais lorsque je l'importe sur SAP, ça ma met que le format n'est pas correct. La seul chose qui change c'est la poids du fichiers 1.91ko pour ma sauvegarde vba et 1.88ko pour une sauvegarde manuelle.
J'ai intégré un code de ce type pour mon enregistrement CSV
Sub SaveAsCSV()
Dim Range As Object, Line As Object, Cell As Object
Dim StrTemp, chemin As String
Dim Separateur As String
chemin = ThisWorkbook.Path & ""
Separateur = ";"
Set Range = ActiveSheet.UsedRange
Open chemin & nom2 & ".csv" For Output As #1
For Each Line In Range.Rows
StrTemp = ""
For Each Cell In Line.Cells
StrTemp = StrTemp & CStr _
(Cell.Text) & Separateur
Next
Print #1, StrTemp '= " "
Next
Close
End Sub
Auriez vous une idée d’où pourrait provenir mon problème?
merci
A voir également:
- Enregistrement en csv par VBA pour export SAP
- Export favoris chrome - Guide
- Enregistrement mp3 gratuit - Télécharger - Streaming audio
- Erreur lors de l'enregistrement du contact - Forum Xiaomi
- Telecharger studio d'enregistrement rap - Télécharger - Édition & Montage
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
2 réponses
Bonjour
Voila un macro qui fait des CSV regarde bien ?
A+
Maurice
Voila un macro qui fait des CSV regarde bien ?
Sub ExportCSV() Application.ScreenUpdating = False Nom = "Test" Ext = ".csv" Fichier = Nom & Ext Chemin = ActiveWorkbook.Path & Application.PathSeparator CheminFiche = Chemin & Fichier Sep = ";" Nlig = Cells(Rows.Count, 1).End(xlUp).Row Set Plage = Range("A1:E" & Nlig) Open CheminFiche For Output As #1 For Each Lig In Plage.Rows ligne = "" For Each Cel In Lig.Cells ligne = ligne & CStr(Cel.Text) & Sep Next Print #1, ligne Next Close Set Plage = Nothing Application.ScreenUpdating = True MsgBox "Terminer" End Sub
A+
Maurice
Dubi21
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
J'essaye ça dès lundi merci beaucoup donc normalement ça me donne exactement le même enregistrement qu'en le faisant manuellement
Dubi21
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
>
Dubi21
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
J'ai intégré ta macro à mon fichier en complétant pour définir (nom, ext,...) donc cela fonctionne bien même visuelle que si je l'enregistre manuellement mais je me retrouve avec le même problème que ma macro. Problème de format quand je l'importe sur SAP. Je ne sais pas d'où provient cette petite différence de l'enregistrement macro et enregistrement manuel...
Bonjour
alors peux être comme ça
Voir la Ligne Print #1, Left(ligne, Len(ligne) - 1)
après je ne sait plus car j'ais pas de SAP
A+
Maurice
alors peux être comme ça
Sub ExportCSV() Application.ScreenUpdating = False Nom = "Test" Ext = ".csv" Fichier = Nom & Ext Chemin = ActiveWorkbook.Path & Application.PathSeparator CheminFiche = Chemin & Fichier Sep = ";" Nlig = Cells(Rows.Count, 1).End(xlUp).Row Set Plage = Range("A1:E" & Nlig) Open CheminFiche For Output As #1 For Each Lig In Plage.Rows ligne = "" For Each Cel In Lig.Cells ligne = ligne & CStr(Cel.Text) & Sep Next Print #1, Left(ligne, Len(ligne) - 1) Next Close Set Plage = Nothing Application.ScreenUpdating = True MsgBox "Terminer" End Sub
Voir la Ligne Print #1, Left(ligne, Len(ligne) - 1)
après je ne sait plus car j'ais pas de SAP
A+
Maurice