Sauvegarde de données ds fichier autre format

laurent45

XLDnaute Occasionnel
Bonjour le Forum,

Dans mon Appli, j'aurais besoin de sauvegarder des données (numériques ou alpha-numérique) dans un fichier différents, mais pas XLS. Certaines en CSV, d'autres en TXT...
Comment une fois ces données enregistrées dans ces fichiers, je peux en récupérer certaines pour travailler avec ?

Ex: un tableau de nombre, où chaque ligne correspond à une date.
Je souhaiterais utiliser VBA comme un exécutant de requète sur ces fichiers qui me serveriront d'archives, ou de fichier de configuration.

Espérant avoir été assez clair.

@+
 

MichelXld

XLDnaute Barbatruc
bonjour Laurent

cet exemple ouvre un fichier texte et boucle sur toutes les lignes pour rechercher une donnée

Lien supprimé



sinon , si ton fichier texte est structuré come une base de données , tu peux aussi effectuer une requete en utilisant la methode ADO

Lien supprimé



bonne journée
MichelXld
 

laurent45

XLDnaute Occasionnel
Bonjour Michel, le Forum,

Merci pour ces réponses.

J'avais avancé dans ce sens. Avec la première solution j'arrive à trouver la chaîne String que je souhaite. Mais une fois modifiée, je n'arrive pas à la remettre en même position de remplacement.

J'ai eu beau essayer avec Open ... Output, Random ou Input ... Access Write (ou pas), mais rien n'y fait. Il me remplace tout le fichier ou alors le met à la suite.

Après réflexion, vue que mes onglets sont cachés, je vais créer une feuille config avec les infos souhaitées. Je pense que cela sera beaucoup plus simple.
Mais si vous avez des idées ... ;)

Par contre pour la deuxième solution pourrait me servir pour archiver des données sous forme de base de données. Mais le soucis est que l'instruction Split() ne fonctionne pas avec Excel97, ou alors, j'ai un paramètre qui ne va pas. :eek:

Merci
 

laurent45

XLDnaute Occasionnel
Re Michel,

:eek: J'ai un problème !!!! :angry:

mes recherche sur les archives ne fonctionnent plus !!

J'ai lancé une recherche sur 'split', tous les mots, dans les sujets :
Aucun résultat !!

J'ai essayé avec 'fonction' : Aucun résultat !!

Que se passe-t-il ?
 

laurent45

XLDnaute Occasionnel
Re Michel,

Merci pour tes recherches.

Il faudrait voir si je suis le seul à avoir ce problème.
Depuis hier, j'ai ce problème très handicapant.
De plus, chaque fois que j'ai une page Archive qui s'ouvre (comme celles dont tu m'as donnés les liens), j'ai le gestionnaire de popup qui ding :)

C'est normal docteur ?? :silly:

@+
 

laurent45

XLDnaute Occasionnel
Bonjour Michel, le Forum,

J'ai bien lu. J'ai réfléchu (un p'tit pu), et j'ai fait çu. :silly:

Code:
Sub lireFichierTexte()
Dim infosLigne As String
Dim i As Integer, x As Integer
Dim Tableau() As String

Open 'Config.ini' For Input As #1
Do While Not EOF(1)
    Line Input #1, infosLigne
    i = i + 1
    Tableau = Split_97(infosLigne, Chr(9)) 'le separateur est Tab'
    For x = 0 To UBound(Tableau)
        Cells(i, x + 1) = Tableau(x)
    Next
Loop
Close #1
End Sub

Public Function Split_97(Chaine$, Separateur$)
'FS, mpfe (renvoie un tableau de base 0)'
Dim Tablo(), pos%, S$

S = Trim(Chaine): ReDim Tablo(0)
Recurse:
    pos = InStr(1, S, Separateur)
    If pos = 0 Then
        Tablo(UBound(Tablo)) = S
        Split_97 = Tablo()
        Exit Function
    Else
        Tablo(UBound(Tablo)) = Left(S, pos - 1)
        S = Right(S, Len(S) - pos)
        ReDim Preserve Tablo(UBound(Tablo) + 1)
        GoTo Recurse
    End If
End Function
Le problème, quand je lance la complilation, j'ai le message d'erreur 'Impossible d'affecter à un tableau' et le mot Tableau de la ligne Tableau = Split_97(infosLigne, Chr(9)) est mis en valeur.

J'utilise la fonction Split_97 proposé par Mytå Lien supprimé avec ta proposition Lien supprimé, que j'ai modifié. :unsure: Peut-être pas comme il faut.

Merci

@+

PS: mes recherches sur les archives refonctionne !
Je ne sais pas ce qu'il s'est passé !!??!! :silly:

Message édité par: laurent45, à: 04/11/2005 11:08
 

laurent45

XLDnaute Occasionnel
Re Michel, le Forum,

J'ai trouvé une solution :

Je copie les données du fichier .ini dans une feuille ('Temp') créée pour l'occas .
Je fais les modif. Je recopie le contenu de cette feuille dans le fichier .ini et je supprime la feuille ('Temp').

Le tour est joué et ça fonctionne d'enfer.

Merci

@+
 

Discussions similaires

Réponses
35
Affichages
1 K

Statistiques des forums

Discussions
312 508
Messages
2 089 132
Membres
104 042
dernier inscrit
tropsy89