[Excel] écrire fichier.txt
txiki
Messages postés
6514
Date d'inscription
Statut
Contributeur
Dernière intervention
-
Lupin -
Lupin -
Salut a tous,
J'ai créé un formulaire avec 4 champs obligatoire sur 7. Le script de controle de ces champs fonctionne très bien.
J'ai aussi un résumé qui s'affiche en pop up avant l'envoi définitif.
Jusque là tout est OK.
Le Pb, c'est que je voudrais qu'en validant, ça écrive sur un fichier texte (inscription.txt) situé dans le même répertoire avec les valeurs des champs renseignés séparé par des point virgule (;) par exemple.
Question 1: s'il y a plusieurs validations simultanées, comment ça va se passer pour qu'il y ait plusieurs lignes ?
Question 2: comment faire pour qu'a l'ouverture d'excel il me récupère automatiquement ces enregistrements dans un tableau ?
Si je vous parles d'un txt c'est que je ne peux pas utiliser de base de données et qu'on m'a parlé de cette possibilité de fichier texte en écriture.
Merci infiniment d'avance pour vos lumières !
--
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
J'ai créé un formulaire avec 4 champs obligatoire sur 7. Le script de controle de ces champs fonctionne très bien.
J'ai aussi un résumé qui s'affiche en pop up avant l'envoi définitif.
Jusque là tout est OK.
Le Pb, c'est que je voudrais qu'en validant, ça écrive sur un fichier texte (inscription.txt) situé dans le même répertoire avec les valeurs des champs renseignés séparé par des point virgule (;) par exemple.
Question 1: s'il y a plusieurs validations simultanées, comment ça va se passer pour qu'il y ait plusieurs lignes ?
Question 2: comment faire pour qu'a l'ouverture d'excel il me récupère automatiquement ces enregistrements dans un tableau ?
Si je vous parles d'un txt c'est que je ne peux pas utiliser de base de données et qu'on m'a parlé de cette possibilité de fichier texte en écriture.
Merci infiniment d'avance pour vos lumières !
--
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
4 réponses
-
Bonjour,
Exemple type :
(c'est une façon de faire, mais il y en a d'autres!)
Option Explicit ' Sub CreerFichierTexte() Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim NouveauTexte, Valeur As String Dim Limite, Boucle, Compteur As Integer Dim Client As String Dim oFS, NouveauFichier As Object NouveauTexte = ThisWorkbook.Path & "\" & "MonFichier.txt" Set oFS = CreateObject("Scripting.FileSystemObject") Set NouveauFichier = oFS.CreateTextFile(NouveauTexte, ForWriting) Limite = Range("A65535").End(xlUp).Row Client = "" For Boucle = 1 To Limite For Compteur = 0 To 2 Client = Client & ActiveCell.Offset(0, Compteur).Value & ";" Next Compteur NouveauFichier.WriteLine (Client) ActiveCell.Offset(1, 0).Select Client = "" Next Boucle NouveauFichier.Close End Sub ' Sub LectureFichierTexte() Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim oFS As Object Dim Boucle As Long Dim MonFichier, Texte, Reponse, Msg As String Dim CheminFichier As String CheminFichier = ThisWorkbook.Path & "\" & "MonFichier.txt" Set oFS = CreateObject("Scripting.FileSystemObject") Set MonFichier = oFS.OpenTextFile(CheminFichier, ForReading) While Not MonFichier.AtEndOfStream Texte = MonFichier.ReadLine MsgBox Texte Wend MonFichier.Close End Sub '
Lupin -
re:
Pour "la préparation du tableau excel", la je puis te donner
quelque tuyau!
défini chaque ligne étant un enregistrement (un ensemble)
défini chaque colonne étant un champ de l'enregistrement
défini un caractère comme séparateur " ; "
! "caractère de tabulation"
Avec Excel à l'ouverture d'un fichier de type texte, tu pourra
paramètrer le caractère choisi dans la section:
Type de données d'origine
Choici "Délémité"
Page suivante
Section "Séparateurs"
Dans "Autre", il y a une case pour inscrire le caractère
et c'est tout !
Lupin -
Salut Lupin et merci pour ta réponse,
Mais je ne comprends rien, vraiment rien. Voici mon script.js:<!-- Vérification des champs du formulaire function verif() { var nom = document.formulaire.nom.value; if (document.formulaire.nom.value == "") { alert ('Veuillez entrer votre nom'); document.formulaire.nom.focus(); return false; } if(document.formulaire.prenom.value == "") { alert ('Veuillez entrer votre prénom'); document.formulaire.prenom.focus(); return false; } if(document.formulaire.matricule.value == "") { alert ('Veuillez entrer votre matricule'); document.formulaire.matricule.focus(); return false; } if(document.formulaire.telephone.value == "") { alert ('Veuillez entrer un n° de téléphone'); document.formulaire.telephone.focus(); return false; } if(document.formulaire.telephone.value.length != 6) { alert ('Le n° de téléphone doit comporter 6 chiffres'); document.formulaire.telephone.focus(); return false; } else {return true;} } //-->Il fonctionne très sous 2000 mais pas sous XP (pour la longueur du tél.) mais bon.
Là je suis à la maison et je n'ai pas le formulaire sous la main.
Mon Pb c'est que je veux pas recevoir les données par mail pour faire des copier/coller à la main dans un tableau excel.
Du reste, je ne sais même pas comment je dois préparer mon tableau excel, si je dois mettre les noms des champs etc...
Merci beaucoup en tous cas de m'avoir répondu.
-
re:
j'avais très mal compris ta question, je m'en excuse.
En fait je t'ai fourni un exemple VBA pour créer un fichier
texte à partir d'une feuille Excel.
sous javascript, je ne suis que débutant et ne puis t'aider plus.
désolé !
Lupin