Excel - Export données horaire format texte

Asked By Tendasque
21-Nov-09 10:57 AM
Bonjour,
cette procédure fonctionne bien : (merci MichDenis)

Sub SaveAsTextFile()
Dim C As Variant, Nb As Long
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String, Sep As String
Sep = ";"
fFilename = "c:\chrono1.txt"
Nb = FreeFile
Open fFilename For Output As Nb
'Définir la plage de cellules
C = Range("b3:C5") ' à définir
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Sep & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #Nb, tmP
Next
Close #Nb
End Sub

mais:
- dans la colonne B j'ai des nombres entiers
- dans la colonne C j'ai des temps au format Excel 00:00:00
- la proc me sauvegarde comme ceci par ex:
1;4,88425926596392E-03
et je voudrais obtenir:
1;00hh07'02

Est-il possible d'obtenir cela directement ?
Merci de votre aide.
Excel
(1)
SaveAsTextFile
(1)
FreeFile
(1)
FFilename
(1)
Essaie
(1)
Directement
(1)
Maintenant
(1)
Sauvegarde
(1)
  michdenis replied to Tendasque
21-Nov-09 11:42 AM
Bonjour,

Essaie ceci :

Il est pr?sum? dans la proc?dure que tes temps sont en colonne B:B

'-----------------------------------------------
Sub SaveAsTextFile()
Dim C As Range, Nb As Long
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String, Sep As String

Sep = ";"
fFilename = "c:\chrono1.txt"

Nb = FreeFile
Open fFilename For Output As Nb

'D?finir la plage de cellules
With Worksheets("Feuil1")
Set C = .Range("A3:C10")
End With

For a = 1 To C.Rows.Count
tmP = ""
For b = 1 To C.Columns.Count
If tmP > "" Then
If C(a, b).Column = 2 Then
If IsDate(C(a, b)) Then
tmP = tmP & Sep & Format(C(a, b), "hh""hh""MM""'""SS")
Else
tmP = tmP & Sep & C(a, b)
End If
Else
tmP = tmP & Sep & C(a, b)
End If
Else
tmP = C(a, b)
End If
Next
Print #Nb, tmP
Next
Close #Nb
End Sub
'-----------------------------------------------




Bonjour,
cette proc?dure fonctionne bien : (merci MichDenis)

Sub SaveAsTextFile()
Dim C As Variant, Nb As Long
Dim fFilename As String
Dim a As Integer, b As Integer
Dim tmP As String, Sep As String
Sep = ";"
fFilename = "c:\chrono1.txt"
Nb = FreeFile
Open fFilename For Output As Nb
'D?finir la plage de cellules
C = Range("b3:C5") ' ? d?finir
For a = 1 To UBound(C, 1)
tmP = ""
For b = 1 To UBound(C, 2)
If tmP > "" Then
tmP = tmP & Sep & C(a, b)
Else
tmP = C(a, b)
End If
Next
Print #Nb, tmP
Next
Close #Nb
End Sub

mais:
- dans la colonne B j'ai des nombres entiers
- dans la colonne C j'ai des temps au format Excel 00:00:00
- la proc me sauvegarde comme ceci par ex:
1;4,88425926596392E-03
et je voudrais obtenir:
1;00hh07'02

Est-il possible d'obtenir cela directement ?
Merci de votre aide.
  Tendasque replied to michdenis
21-Nov-09 12:05 PM
Merci michdenis, je ne savais pas écrire:
tmP = tmP & Sep & Format(C(a, b), "hh""hh""MM""'""SS")
c'est bon maintenant
Create New Account
help
Excel- sortie d'un fichier.txt Excel Bonjour, Je m'excuse de poser une question assez basique. Je suis sous Excel, je veux sortir un fichier.txt avec des ";" comme s = E9parateurs de champs. Comment dois E9der ? Ainsi je pourrai ensuite le traiter sous VB avec l'instruction Merci beaucoup Michel Excel - French Discussions Excel (1) FFilename (1) SaveAsTextFile (1) VB (1) UBound (1) MichelExcel (1) StringDim (1) MichelSub (1) Bonjour. Enregistre-le comme googlegroups.com. . . Bonjour, Je m'excuse de poser une question assez basique. Je suis sous Excel, je veux sortir un fichier.txt avec des ";" comme séparateurs de champs. Comment dois je tu veux utiliser Sep = Chr(44) ' -> ", " 'Chemin + Nom du fichier selon ton environnement fFilename = "c: \ Excel \ today \ denis.txt" Nb = FreeFile Open fFilename For Output As Nb 'Définir la plage de
xls vers txt Excel bonjour, je dois exporter des données xls vers du txt, le séparateur devant être " | " (celui de ligne à traiter). Avez-vous une idée en VBA ou autre ? merci a+ bob Excel - French Discussions Excel (1) VBA (1) SaveAsTextFile (1) FreeFile (1) EAtre (1) VbTab (1) Enregistrer (1) FFilename (1) = EAtre " | " e 'ai Une id = E9e veux donner à ton fichier texte (il n'a pas besoin d'exister) fFilename = "c: \ Excel \ today \ denis.txt" De plus, dans la procédure, tu dois indiquer le séparateur de ton cellules C'est tout. Ça devrait prendre quelques instants et le tour est joué. '- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- - Sub SaveAsTextFile() Dim C As Variant, Nb As Long Dim fFilename As String Dim a As Integer séparateur que tu veux utiliser Sep = " | " 'Chemin + Nom du fichier selon ton environnement fFilename = "c: \ Excel \ today \ denis.txt" Nb = FreeFile Open fFilename For Output As Nb 'Définir la plage de
excel Excel excel Excel Discussions Excel (1) ExcelSalesAid (1) GuillettMicrosoft (1) SalesAid (1) Dguillett1 (1) I will certainly try to - - Don Guillett Microsoft MVP Excel SalesAid Software dguillett1@austin.rr.com keywords: excel description: excel
How do I Fill down on Excel Excel Excel Miscellaneous Discussions Excel (1) RegardsDave (1) Hawley (1) http: / / www.ozgrid.com / Excel / excel-fill-handle.htm - - Regards Dave Hawley www.ozgrid.com keywords: How, do, I, Fill, down, on, Excel