OVH Cloud OVH Cloud

Macro CSV

2 réponses
Avatar
Loïc
Bonjour à tous,

J'utilise la macro CSV de Steve (trouvée sur excelabo.net) pour exporter une
sélection au format CSV. Cependant, le fichier généré n'est pas bon car le
dernier champs se termine par le séparateur (le ; en l'occurence) alors
qu'il devrait normalement se terminer juste par une fin de ligne.

Y a -t-il moyen de rectifier légèrement cette macro pour donner le bon
résultat ?

Voici la macro utilisée :

Sub ....

With Selection.CurrentRegion
Set Range = .Offset(1).Resize(.Rows.Count - 1, .Columns.Count)
End With

Open ....

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

Merci beaucoup de votre aide.

2 réponses

Avatar
Clément Marcotte
Bonjour,

Je n'ai pas envie de me battre avec des boucles For each.

Essaie celle-là, et ensuite garde seulement la section qui te convient
le mieux:

http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&threadmïtb%24lv%23DHA.1452%40TK2MSFTNGP09.phx.gbl&rnum=1&prev=/groups%3Fas_q%3Dpoints-virgules%2520guillemets%26ie%3DUTF-8%26as_ugroup%3Dmicrosoft.public.fr.excel%26as_uauthors%3Dclement.marcotte%40sympatico.ca%26as_scoring%3Dd%26lr%3D%26hl%3Dfr




"Loïc" a écrit dans le message de
news:c91se0$255$
Bonjour à tous,

J'utilise la macro CSV de Steve (trouvée sur excelabo.net) pour
exporter une

sélection au format CSV. Cependant, le fichier généré n'est pas bon
car le

dernier champs se termine par le séparateur (le ; en l'occurence)
alors

qu'il devrait normalement se terminer juste par une fin de ligne.

Y a -t-il moyen de rectifier légèrement cette macro pour donner le
bon

résultat ?

Voici la macro utilisée :

Sub ....

With Selection.CurrentRegion
Set Range = .Offset(1).Resize(.Rows.Count - 1, .Columns.Count)
End With

Open ....

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

Merci beaucoup de votre aide.



Avatar
Frédéric Sigonneau
Bonsoir,

Remplace la ligne :
Print #1, StrTemp '= " "

Par celle-ci :
Print #1, Left(StrTemp,Len(StrTemp)-1)

FS
---
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !

Bonjour à tous,

J'utilise la macro CSV de Steve (trouvée sur excelabo.net) pour exporter une
sélection au format CSV. Cependant, le fichier généré n'est pas bon car le
dernier champs se termine par le séparateur (le ; en l'occurence) alors
qu'il devrait normalement se terminer juste par une fin de ligne.

Y a -t-il moyen de rectifier légèrement cette macro pour donner le bon
résultat ?

Voici la macro utilisée :

Sub ....

With Selection.CurrentRegion
Set Range = .Offset(1).Resize(.Rows.Count - 1, .Columns.Count)
End With

Open ....

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

Merci beaucoup de votre aide.