OVH Cloud OVH Cloud

Export vers base de données

31 réponses
Avatar
Jean-Luc ERNST
Bonjour,
Sous Word 2000, comment fait-on pour exporter une liste de mots qui
doivent être récupérés dans une base de données sous DOS?

La base de données en question accepte les données ascii (texte seul)
délimitées par des guillemets, ligne par ligne, sans séparateur.

Je ne vois pas d'option de ce genre dans "Enregistrer sous".

--

Cordialement,
Jean-Luc ERNST
www.hopitaldelaphoto.com

10 réponses

1 2 3 4
Avatar
Jean-Luc ERNST
Bonjour,
quand je demande à visualiser les caractères invisibles, je n'aperçois
pas la petite flèche courbée. Je n'ai qu'un seul caractère invisible
après chaque mot. C'est celui que je vois après 'etc' sur ta capture
écran et après 'encore'.

Cordialement,
Jean-Luc


"Papy Bernard" a écrit dans le message de news:
%
Slt,

De Jean-Luc ERNST

Un beau dessin valant mieux qu'un long discours :

en trois coups de cuiller à pot

http://cjoint.com/?gkq2mwnuKf


--
A+
Papy Bernard (RTCien malgré lui)





Avatar
Jean-Luc ERNST
Bonjour,
j'aurais été mieux inspiré de communiquer un exemple de mon fichier .txt

Il n'est pas trop tard pour bien faire!
Le voici :
http://cjoint.com/?gktgAkRv2G

Tu peux ainsi faire des essais sur du concret...

Cordialement,
Jean-Luc Ernst


"Circé" a écrit dans le message de news:

Bonjour Jean-Luc,

N'en déplaise à certains qui ne pensent qu'à critiquer, mais la
solution de recherche-remplace que je t'ai indiquée en premier lieu
n'a même pas besoin de tableau ! Comme je l'ai dit, mais je ne connais
pas comment est fait ton fichier original, si tous tes mots sont
séparés par des retours paragraphe, suffit de remplacer ceux-ci par
des guillemets.

Pas besoin d'ajouter des colonnes, de faire des transformations, de
supprimer les tabs...

Ne pas oublier que sur des fichiers très importants comme les tiens,
le travail en tableau peut prendre beaucoup de temps.

Circé
http://faqword.free.fr



Avatar
Circé
Re...

Jean-Luc ERNST a couché sur son écran :
Bonjour,
j'aurais été mieux inspiré de communiquer un exemple de mon fichier .txt

Il n'est pas trop tard pour bien faire!


Effectivement... c'est on ne peut plus simple à réaliser ! ;)

Menu Edition, Remplacer
Rechercher : ^p
Remplacer par : "^p"

C'est tout ! Y a pas à chercher midi à quatorze heures !!!! ;)

Circé
http://faqword.free.fr

Le voici :
http://cjoint.com/?gktgAkRv2G

Tu peux ainsi faire des essais sur du concret...

Cordialement,
Jean-Luc Ernst


"Circé" a écrit dans le message de news:

Bonjour Jean-Luc,

N'en déplaise à certains qui ne pensent qu'à critiquer, mais la solution de
recherche-remplace que je t'ai indiquée en premier lieu n'a même pas besoin
de tableau ! Comme je l'ai dit, mais je ne connais pas comment est fait ton
fichier original, si tous tes mots sont séparés par des retours paragraphe,
suffit de remplacer ceux-ci par des guillemets.

Pas besoin d'ajouter des colonnes, de faire des transformations, de
supprimer les tabs...

Ne pas oublier que sur des fichiers très importants comme les tiens, le
travail en tableau peut prendre beaucoup de temps.

Circé
http://faqword.free.fr




Avatar
Tisane
Bonjour Jean-Luc,

Bonjour Clément,
je ne suis pas un virtuose comme toi en matière de Word et je suppose que
ce que tu as écrit est une macro ou un truc du genre. Mais je n'ai jamais
utilisé cela...
De plus, je ne parviens pas à voir si chaque ligne est causée par un saut
de ligne (retour chariot) ou par une marque de paragraphe.


Je dois admettre que la macro de Clément Marcotte (malgré nos mauvaises
relations :-/) est pourtant ce qui te simplifiera le plus la vie.
Je l'ai testée... *<oD et elle semble correspondre parfaitement à tes
besoins, même plus, elle fait une sauvegarde automatique au format texte.
Pour l'utiliser, procède ainsi :
- ouvre ton document Word (on est bien d'accord que chaque mot est sur une
ligne différente (marque de paragraphe ¶ à la fin de chaque mot)
- appuie sur <Alt><F11> pour aller dans la fenêtre de l'éditeur du Visual
Basic
- copie/colle les lignes de la macro de Clément
- remplace "c:copielabelleliste.txt" par ton propre chemin et par le nom
de fichier d'export texte que tu veux
- ferme la fenêtre de l'éditeur VB
- de retour dans ton document, appuie sur <Alt><F8>
- sélectionne la macro nommée "ListeEnFichierTexte" et exécute.
A priori, il ne se passe rien mais le fichier texte est bien créé et au
format que tu souhaites.

J'ai essayé avec Excel mais ce dernier m'exporte 4 guillemets pour chaque
guillemets rencontré dans un tableau à 3 colonnes.


Avec Excel, tu pouvais créer la formule suivante en supposant que les mots
soient en colonne A :
- en colonne B, tu tapes la formule =CONCATENER("""";A1;"""")
- à recopier vers le bas
- tu sélectionnes le contenu de la colonne B et tu copies
- puis, sans désélectionner, menu Edition | Collage spécial, coche "Valeur"
pour éviter les doubles paires de guillemets.
Il reste à enregistrer au format "Texte (DOS) (*.txt)"

Je crois que cette fois, tu as l'embarras du choix. Mais essaie la macro. Tu
pourras l'utiliser dans tous les autres fichiers avec un minimum de
manipulation.

--
Tisane

"Jean-Luc ERNST" a écrit dans le message de
news: 87e4$448ac5bb$52aed67c$

En cherchant, j'ai trouvé à l'instant la solution suivante avec Word.

Sélectionner le texte.
Transformer le texte en tableau à 1 colonne.
Ajouter 1 colonne à gauche et 1 à droite.
Remplir ces colonnes avec une paire de guillemets.
Transformer le tableau en texte.
Enregistrer sous format texte avec tabulation.
Rechercher/remplacer les tabulations pour les supprimer.
Je me retrouve au final avec exactement ce que je cherchais:
un enregistrement par ligne délimité par des guillemets.

Il suffira dorénavant que mon correspondant (c'est lui qui génère les
textes) utilise un modèle de document Word préformaté en tableau à 3
colonnes dont les deux colonnes de gauche et droite sont déjà pourvues de
guillemets.

J'ai essayé avec Excel mais ce dernier m'exporte 4 guillemets pour chaque
guillemets rencontré dans un tableau à 3 colonnes.

Merci à tous pour votre serviabilité. Comme vous le voyez, vos suggestions
(tableau, Excel, chercher/remplacer, etc.) m'ont aidé à trouver une
solution à mon problème

Cordialement,
Jean-Luc Ernst


"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Pour peu que tu aies une liste dans Word avec chaque valeur seule sur une
seule ligne et chaque ligne terminée par une marque de paragraphe:

Sub ListeEnFichierTexte()
Dim para As Object, laligne As String
Open "c:copielabelleliste.txt" For Output As 1
For Each para In ActiveDocument.Paragraphs
laligne = Chr(34) & Left(para, Len(para) - 1) & Chr(34)
Print #1, laligne
Next
Close
End Sub






Avatar
Papy Bernard
Slt,

De Jean-Luc ERNST

Il n'est pas trop tard pour bien faire!
Le voici :
http://cjoint.com/?gktgAkRv2G

Tu peux ainsi faire des essais sur du concret...


Les guillemets ont disparu. Ca change l'approche et ne la rend pas évidente.
Difficile dans ces conditions de convertir, sauf sous programmation, de
convertir un tel fichier en table de données c'est à dire
champs/enregistrements pour importation dans un SGBD.
Sauf à ce qu'il y ait des problèmes de confidentialité -perso ce n'est pas
le fond qui m'intéresse mais la forme-, il serait préférable que tu balances
sur cijoint.com un fichier TEL que tu le reçois.
Ce serait plus concret

--
A+
Papy Bernard (RTCien malgré lui)

Avatar
Jean-Luc ERNST
Bonsoir Tisane,
Merci pour l'explication sur la manière d'utiliser la macro de Clément.
Cela fonctionne bien, effectivement.

Merci aussi pour l'explication Excel. Je n'en aurai donc pas besoin mais
la formule est bonne à retenir...

Question subsidiaire:
le "visual basic" auquel on accède de cette manière dans Word, est-ce la
même chose que le Visual Basic qui existe en programme séparé, je crois?
Car je ne vois pas de Visual Basic dans mes programmes...

Cordialement,
Jean-Luc Ernst


"Tisane" a écrit dans le message de news:
%
... snip ...
Je dois admettre que la macro de Clément Marcotte (malgré nos
mauvaises relations :-/) est pourtant ce qui te simplifiera le plus la
vie.
... snip ...

--
Tisane



Avatar
Jean-Luc ERNST
Bonsoir Circé !

Belle démonstration de simplicité!
Il ne reste plus qu'à poser le premier et le dernier guillemets.

Avec la macro de Clément, l'explication de Tisane et la tienne, je
possède à présent des solutions efficaces à mon problème...

Merci pour votre amabilité à tous!

Cordialement,
Jean-Luc Ernst


"Circé" a écrit dans le message de news:

... snip ...

Effectivement... c'est on ne peut plus simple à réaliser ! ;)

Menu Edition, Remplacer
Rechercher : ^p
Remplacer par : "^p"

C'est tout ! Y a pas à chercher midi à quatorze heures !!!! ;)

Circé
http://faqword.free.fr

... snip ...


Avatar
Jean-Luc ERNST
Bonsoir Papy Bernard,

"Les guillemets ont disparu" parce que le fichier que je reçois est bien
tel que je l'ai envoyé sur Cjoint. Il n'en possède pas au départ. Mon
but était justement d'ajouter les guillemets à ce type de fichier...

A présent, avec la macro de Clément et les explications de Tisane et
Circé, je possède des réponses à ma demande.

Je n'ai donc plus besoin de manipuler un tableau dans Word ni de
travailler avec Excel.

Merci pour ton aide !

Cordialement,
Jean-Luc Ernst


"Papy Bernard" a écrit dans le message de news:

... snip ...

Les guillemets ont disparu. Ca change l'approche et ne la rend pas
évidente.
Difficile dans ces conditions de convertir, sauf sous programmation,
de convertir un tel fichier en table de données c'est à dire
champs/enregistrements pour importation dans un SGBD.
Sauf à ce qu'il y ait des problèmes de confidentialité -perso ce n'est
pas le fond qui m'intéresse mais la forme-, il serait préférable que
tu balances sur cijoint.com un fichier TEL que tu le reçois.
Ce serait plus concret

--
A+
Papy Bernard (RTCien malgré lui)



Avatar
Jean-Luc ERNST
Bonsoir Clément,

Costaud ta macro !

Avec l'aide de tous, j'ai pu la faire fonctionner et cela répond
exactement à ma demande, effectivement...

Merci encore !

Cordialement,
Jean-Luc Ernst


"Clément Marcotte" a écrit dans le
message de news:
Bonjour,

Pour peu que tu aies une liste dans Word avec chaque valeur seule sur
une seule ligne et chaque ligne terminée par une marque de paragraphe:

Sub ListeEnFichierTexte()
Dim para As Object, laligne As String
Open "c:copielabelleliste.txt" For Output As 1
For Each para In ActiveDocument.Paragraphs
laligne = Chr(34) & Left(para, Len(para) - 1) & Chr(34)
Print #1, laligne
Next
Close
End Sub




Avatar
Tisane
Bonjour Jean-Luc,

Question subsidiaire:
le "visual basic" auquel on accède de cette manière dans Word, est-ce la
même chose que le Visual Basic qui existe en programme séparé, je crois?
Car je ne vois pas de Visual Basic dans mes programmes...


Je ne suis pas sans doute la plus compétente pour répondre précisément à ta
demande.
Toutefois, voici un début de réponse :
le VBA (Visual Basic Application) est fourni avec toutes les applications
Office. Il est accessible par <Alt><F11> ou par le menu Outils | Macro |
Visual Basic Editor.
Le VBA est enrichi des commandes/fonctions/instructions propres au logiciel
dans lequel tu l'utilises (Word, Excel, PowerPoint, Access, Visio, etc.).
Enfin, un programme VBA ne peut pas tourner sans le logiciel avec lequel il
a été conçu. Un programme VB, oui.
Mais la partie "VB" est proche, voire identique, au VB auquel tu fais
peut-être allusion (Visual Basic, programme indépendant).

--
Tisane

1 2 3 4