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
....
"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.
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:
"Loïc" <ath25_marreduspam@hotmail.com> a écrit dans le message de
news:c91se0$255$1@news-reader5.wanadoo.fr...
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
....
"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.
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.
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
.....
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 .....