Exportation en CSV - Amélioration de macro

Bonjour

j'essaie en vain d'écrire une macro permettant d'exporter en format csv (avec points-virgules en séparateurs) une seule feuille excel sous un nom spécifique (nom qui est généré par le fichier excel lui même et qui inclus la date et l'heure de l'enregistrement). Grâce aux messages que j'ai pu déjà lire, j'ai pu préparer cette macro qui marche à 95%. Mon seul problème est que cette macro insère un point-virgule pour chaque cellule de ma plage, y compris la dernière cellule de chaque ligne. Or, pour que mon fichier CSV soit valide, il ne doit pas y avoir de point-virgule en fin de ligne. En d'autres termes la situation actuelle/ visée est la suivante:

Situation Actuelle: A;B;C;

Situation cible: A;B;C

Avez-vous une idée pour me sortir de ce problème? Voici la macro:

Sub Générer_rapport()

'

' Générer_rapport Macro

Calculate

chemincsv = Range("B3").Value

Worksheets("Message").Select

Dim Plage As Object, oL As Object, oC As Object, Tmp As String, Sep$

Sep = ";"

Set Plage = ActiveSheet.Range("A1:CT" & ActiveSheet.Range("A65000").End(3).Row)

Open chemincsv For Output As #1

For Each oL In Plage.Rows

Tmp = ""

For Each oC In oL.Cells

Tmp = Tmp & CStr(oC.Text) & Sep

Next

Print #1, Tmp

Next

Close

End Sub

Un immense merci pour votre aide.

Bonjour,

Essaie :

Tmp = Left(Tmp, Len(Tmp) - 1)
Print #1, Tmp

Excellent! Ca fonctionne parfaitement!

Mille merci Jean-Eric pour ce retour si rapide. Cela va me sauver de longs moment de galère ce week end!

Rechercher des sujets similaires à "exportation csv amelioration macro"