Bonjour,
nimel a écrit :
Manuel NAUDIN a écrit :
Le 16/12/06, nimel<[EMAIL PROTECTED]> a écrit :
Bonjour,
Bonjour,
Je patauge car je ne suis pas très calée ni en base de donnée ni en
macro etc... J'ai cherché un peu mais comme je ne sais pas trop comment
faire...
Si une bonne âme pouvait m'aider?
J'ai un tableau de texte sous Word et il faut se servir des données
contenues pour faire un publipostage. Ceci doit être fait régulièrement
donc il faut en plus un automatisme minimum.
J'ai donc pensé passer par Base: transformation du tableau en texte,
etc. Je pourrais aussi passer par Calc et copier/coller. Pour ça je
peux
faire une macro, c'est encore à ma portée.
Pour pouvoir se connecter avec Base, il faut effectivement que le
tableau soit enregistré en .ods ou .xls
Mais mon problème c'est le tableau d'origine. Les intitulés de colonnes
ne correspondent pas aux champs qu'il faudrait dans le publipostage.
En colonnes j'ai des noms d'élève, en ligne j'ai des descriptifs de
matières, et à l'intersection des 2 j'ai les notes.
Pour le publipostage il faut faire 1 lettre par élève, insérer les
descriptifs de matières et la note correspondante pour l'élève.
(pouff! dur à expliquer, sais pas si quelqu'un suit).
Donc j'ai pensé générer une Base avec une table par nom d'élève et
autant de champs que de descriptifs de matières. Mais alors là, pour
faire ça en automatique ... je n'ai pas le début de l'idée de comment.
Si au moins quelqu'un pouvait me dire si c'est faisable et si je suis
sur la bonne piste de raisonnement.
il me semble que le plus simple serait de permuter les lignes et
colonnes du tableau, afin d'obtenir quelque chose de ce genre :
nom math géo histoire
durand 10,5 8 9
leroy 12 10 5
naudin 3 4 2
Ensuite avec Nouveau > Base de données :
se connecter à une base existante > classeur
Tu te retrouve avec une table dont les champs sont :
nom
math
geo
histoire
et un enregistrement par élève.
la base ainsi crée est liée dynamiquement au classeur.
Si les données du classeur sont modifiées, lorsque tu rouvres la base,
les modifications sont prises en compte.
Cette base peut ensuite servir à créer ton publipostage.
La seule macro à créer serait donc l'export de la table depuis word et
la permutation des lignes et des colonnes.
Nicole de Bordeaux.
Manuel
Bonsoir Manuel et merci de ta réponse.
Effectivement je sentais bien qu'il fallait remanier le tableau mais
c'est justement ce que je ne sais pas faire.
Disons qu'en effet ce serait plus pratique ;)
Car on peut supposer que le nombre d'élèves est supérieur au nombre de
matières. Encore que dans certains cas ...
Et l'utilisateur ne veut pas changer son document original (ah! les
habitudes!).
Là est toute la difficulté de la mise en place d'un nouveau système et
de l'organisation ou réorganisation qui doit l'accompagner.
Confronté depuis toujours à ce genre de problème, la réflexion doit
porter sur les avantages et les inconvénients de l'adaptation soit de
l'utilisateur, soit de l'outil informatique, soit des deux ;)
Au cas présent, il me semble que tu pourrais mettre en place une
solution informatisée trés souple, à savoir t'appuyer sur le document
tel qu'il est (donc sans changer les habitudes de l'utilisateur).
En plus, là où je sèche c'est que même les matières sont des données
variables. Ça donne ça:
Clément Sophie Kevin
S'organiser pour ...... 5 2 4
Adapter son comportement... 6 3 1
S'intéresser aux ... 2 5 3
Comprendre les .... 1 6 2
Etc...
Ou plutôt après remaniement:
NOM_ELEVE S'organiser pour ...... Adapter son comportement...
Clément 5 6
Sophie 2 3
Kevin 4 1
Une macro pourra parfaitement récupérer l'intégralité des données
présentent dans ce genre de tableau.
La difficulté ne réside pas dans le traitement mais bien d'avantage dans
la définition d'un mode opératoire s'appuyant sur le système existant
et/ou nouvellement mis en place.
Ensuite il faut automatiser l'envoie d'une lettre avec Writer du genre:
Voici les résultats du 2ème trimestre de votre enfant NOM_ELEVE :
MATIERE_1 NOTE
MATIERE_2 NOTE
MATIERE_3 NOTE
MATIERE_4 NOTE
Etc..
Donc il faudrait pouvoir afficher le nom du champ dans le document de
fusion, mais est-ce possible?
C'est tout à fait possible. Mais cela peut nécessiter quelques traitements.
Alors si je résume:
J'exporte le tableau Word en fichier .txt par une macro
Je crée une base dans Base avec ce fichier .txt
Je permute lignes/colonnes => Mais comment???
Puisque macro il doit y avoir, autant qu'elle génère l'export dans un
format txt ou csv après transposition de la matrice.
Je fait mon publipostage sous Writer avec les champs NOM_ELEVE,
MATIERE_x et affichage du nom du champ MATIERE_x (comment?).
Une macro doit lire/récupérer l'entête de la colonne (ou de la ligne)
contenant l'intitulé de la matière traitée.
Bon, sur 4 étapes il n'y en a que 2 que je ne sais pas faire!
Merci aux courageux qui voudront bien s'intéresser à ce cas.
La difficulté ne tient pas tant de la conception d'une macro ou d'une
base de données, mais bien plus de la modélisation des documents :
- le doc source de données
- la lettre-type.
Connaissant la structure des deux, une macro relativement simple et ne
faisant pas appel à des notions trés compliquées peut être mise ne place
pour générer le publipostage.
Peut-être pourrais-tu nous adresser un exemplaire du doc Word et du
modèle de publipostage (lettre-type) ici : http://www.cijoint.fr/
Nicole de Bordeaux.
Francois Gatto