Bonjour,
Je sollicite votre aide concernant l'exportation de colonnes sous Excel en .csv séparé par un ";".
J'ai trouvé ce code et j'ai réussi à l'adapter à mon fichier, cependant je souhaiterai :
une sauvegarde directe à la racine de l'onglet en .csv sans ouverture de la fenêtre de choix d'emplacement avec un titre relatif à une cellule
Et
lors de l'exportation, une colonne de mon tableau contient des heures au format "hh:mm:00" qui se transforment en décimales lors de l'exportation... comment y remédier ? Je comprends qu'il les traduise en décimales, cependant je ne vois pas comment convertir ma colonne en "hh:mm" au format texte ou autre qui garderait la structure ;hh:mm; lors de l'extraction.
Merci pour votre aide.
Cordialement.
Je sollicite votre aide concernant l'exportation de colonnes sous Excel en .csv séparé par un ";".
J'ai trouvé ce code et j'ai réussi à l'adapter à mon fichier, cependant je souhaiterai :
une sauvegarde directe à la racine de l'onglet en .csv sans ouverture de la fenêtre de choix d'emplacement avec un titre relatif à une cellule
Et
lors de l'exportation, une colonne de mon tableau contient des heures au format "hh:mm:00" qui se transforment en décimales lors de l'exportation... comment y remédier ? Je comprends qu'il les traduise en décimales, cependant je ne vois pas comment convertir ma colonne en "hh:mm" au format texte ou autre qui garderait la structure ;hh:mm; lors de l'extraction.
Merci pour votre aide.
Cordialement.
Code:
Sub ExportCSV()
Dim Fd As FileDialog
Dim strChaine As String
Dim Plage As Range
Dim Ligne As Long
Dim Colonne As Integer
Worksheets("Feuil1").Activate
'Fenêtre de choix d'emplacement et nom du fichier en sortie
Set Fd = Application.FileDialog(msoFileDialogSaveAs)
'Ajout du filtre
Fd.FilterIndex = 10
'Sortie si pas de fichier
If Fd.Show = False Then Exit Sub
'Plage a trasformer en CSV
Set Plage = ActiveSheet.Range("A1:J" & ActiveSheet.Range("D2000").End(3).Row)
'Ouverture du fichier de sortie
Open Fd.SelectedItems(1) For Output As #1
'Boucle sur la plage et ajoute les lignes au fichier
For Ligne = 1 To Plage.Rows.Count
For Colonne = 1 To Plage.Columns.Count
If strChaine <> "" Then strChaine = strChaine & ";"
strChaine = strChaine & Plage.Cells(Ligne, Colonne).Value
Next Colonne
Print #1, strChaine
strChaine = ""
Next Ligne
'Fermeture du fichier
Close #1
MsgBox "Fichier : " & Fd.SelectedItems(1) & " disponible"
End Sub