Données d'un fichier *.txt ranger dans un tableau excel...

Résolu
CDAlstom Messages postés 69 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 6 mars 2006 - 13 déc. 2005 à 11:20
CDAlstom Messages postés 69 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 6 mars 2006 - 13 déc. 2005 à 15:15
Bonjour,

Dans un programme (en VB6), je récupère les valeurs de variable dans un fichier *.txt, je voudrais ensuite lire ce fichier avec excel; évidemment, lors de l'écriture dans le fichier je met des sauts de ligne en mettant "vbCrLf" et donc quand j'ouvre avec excel, ça remplie la première colonne et toute mes valeurs sont alignées les une en dessous des autres... OK!

Ce que je voudrais pouvoir faire, c'est d'avoir également le nom de la variabl dans mn tableau donc avant chaque valeur, je mettrais le nom dans le fichier (c'est pas un soucis) mais comme je veux une colonne pour les noms et une colonne pour les valeurs, il faut que je sépare ces deux éléments dans le fichier texte par quelque chose... Apparemment, ce n'est ni un ";", ni un ",", ni ":", ni "/" mais un "retrait" (la touche au dessus de Maj sur le clavier à gauche...). Donc à la manière de "vbCrLf" pour le saut de ligne, quel est le code pour ce retrait...?

Merci d'avance!!!

3 réponses

CDAlstom Messages postés 69 Date d'inscription mercredi 21 septembre 2005 Statut Membre Dernière intervention 6 mars 2006
13 déc. 2005 à 15:15
Euh mon programme est en VB6, l'histoire avec excel, c'était juste pour lire un fichier de données plus facilement puisque ce sera dans un tableau... Merci de vos réponses mais je me suis dépanné tout seul...
Je parlais d'écrire dans mon fichier vbCrLf mais on peut aussi mettre Chr(13)+Chr(10) du coup j'ai pensé à récupérer tous els codes ascii et dedans il y a "Tab", c'est le code ascii 9 donc pour faire un tab dans mon fichier, je peux mettre Chr(9) ou ça marche aussi (j'ai testé au hasard et ça marche!) de mettre vbTab...

Si qq1 passe par ici et comprend pas bien, en gros si on veut un tableau de ce style:
toto 1
tata 2
Bah, on peut écrire dans un fichier texte (via open etc bien sûr en VB):
"toto" & vbTab & "1" & vbCrLf & "tata" & vbTab & "2"
3
M000004965 Messages postés 147 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 12 juin 2008
13 déc. 2005 à 14:51
Pourquoi tu ne pilote pas excel directement dans VB ????
Tu peux créer des fichiers excel ou ouvrir et alimenter des fichiers existants !!!

Exemple...
vous pouvez affecter une référence à un objet Excel à une des deux variables ci-dessous :
Dim xlApp1 As Excel.Application
Set xlApp1 = New Excel.Application

Dim xlApp2 As Object
Set xlApp2 = CreateObject("Excel.Application")
0
M000004965 Messages postés 147 Date d'inscription mercredi 3 décembre 2003 Statut Membre Dernière intervention 12 juin 2008
13 déc. 2005 à 14:52
Exemple de code:

Private Sub mnuReportsInvoice_Click()
Static xl As Excel.Application
Set xl = New Excel.Application

With xl
.Visible = True
.Workbooks.Add
' configure la cellule A1
With .Range("A1")
.Value = "Château Saint-Marc - Facture"
.Font.Bold = True
.Font.Name = "Times New Roman"
.Font.Size = 26
End With
.Range("A4").Value = "Nom :"
.Range("B4").Value = txtFirstName.Text & " " & txtLastName.Text
With .Range("A5")
.Value = "Adresse :"
.VerticalAlignment = xlTop
End With
With .Range("B5")
.Value = txtAddress.Text
.ColumnWidth = 20
.WrapText = True
End With
.Range("A6").Value = "Durée du séjour :"
.Range("B6").Value = txtNumDays.Text
.Range("A7").Value = "Tarif :"
.Range("B7").Value = txtRate.Text
.Range("A8").Value = "Total dû :"
' Calcule le total
.Range("B8").Value = _
Format(CSng(txtNumDays.Text) * CSng(txtRate.Text), "Currency")
End With
Columns("A:A").ColumnWidth = 25
xl.ActiveWorkbook.PrintPreview


End Sub
0
Rejoignez-nous