Bonjour à tous et à toutes,
Ceci est mon premier post sur le site donc pardonnez moi si je ne suis pas assez clair.
J'ai actuellement une macro qui me permet d'exporter dans un fichier csv les cellules remplies (non vide ou possédant une formule renvoyant la valeur "") d'un onglet excel.
Voici ma macro (inspirée d'un post sur ce site pardon de ne pas nommer la source!)
Sub CREATION_CSV()
Dim Plage As Object, Ligne As Object, Cellule As Object, Temp As String, Separateur As String
Dim fic As Integer
fic = FreeFile()
'csv SharedUser export
Open ThisWorkbook.Path & "\SharedUser.csv" For Output As #fic
Separateur = ","
Worksheets("SharedUser").Activate
Set Plage = ActiveSheet.Range("a:l")
For Each Ligne In Plage.Rows
Temp = ""
For Each Cellule In Ligne.Cells
Temp = Temp & CStr(Cellule.Text) & Separateur
Next
Print #1, Temp
Next
Close
Close #fic
End Sub
J'ai 2 problèmes concernant ce code:
1: le fait de mettre '& separateur' me rajoute une virgule en trop à la fin de chaque ligne dans mon csv --> comment puis-je enlever cette virgule? (j'ai essayé d'ajouter une condition sans succès, peut être qu'il est possible de supprimer la dernière valeur de chaque ligne...)
2: Mon export fonctionne tellement bien qu'il prend en compte également les cellules avec formules renvoyant rien (""). Du coup j'ai des virgules sur 2000 lignes dans mon csv = complétement inutile! (j'ai une solution en faisant un copier/coller en valeur automatique mais je préférerais trouver une solution plus 'pratique')
Je fais donc appel à votre savoir faire pour m'aider,
Merci d'avance,
spout
Ceci est mon premier post sur le site donc pardonnez moi si je ne suis pas assez clair.
J'ai actuellement une macro qui me permet d'exporter dans un fichier csv les cellules remplies (non vide ou possédant une formule renvoyant la valeur "") d'un onglet excel.
Voici ma macro (inspirée d'un post sur ce site pardon de ne pas nommer la source!)
Sub CREATION_CSV()
Dim Plage As Object, Ligne As Object, Cellule As Object, Temp As String, Separateur As String
Dim fic As Integer
fic = FreeFile()
'csv SharedUser export
Open ThisWorkbook.Path & "\SharedUser.csv" For Output As #fic
Separateur = ","
Worksheets("SharedUser").Activate
Set Plage = ActiveSheet.Range("a:l")
For Each Ligne In Plage.Rows
Temp = ""
For Each Cellule In Ligne.Cells
Temp = Temp & CStr(Cellule.Text) & Separateur
Next
Print #1, Temp
Next
Close
Close #fic
End Sub
J'ai 2 problèmes concernant ce code:
1: le fait de mettre '& separateur' me rajoute une virgule en trop à la fin de chaque ligne dans mon csv --> comment puis-je enlever cette virgule? (j'ai essayé d'ajouter une condition sans succès, peut être qu'il est possible de supprimer la dernière valeur de chaque ligne...)
2: Mon export fonctionne tellement bien qu'il prend en compte également les cellules avec formules renvoyant rien (""). Du coup j'ai des virgules sur 2000 lignes dans mon csv = complétement inutile! (j'ai une solution en faisant un copier/coller en valeur automatique mais je préférerais trouver une solution plus 'pratique')
Je fais donc appel à votre savoir faire pour m'aider,
Merci d'avance,
spout