union ou liaison ? faire une seule table avec deux autres...

DGR

XLDnaute Nouveau
Bonjour (re)

Dans le but d'éditer des séries d'enveloppes, je cherche à "automatiser et pérenniser" un publipostage.
Pour le moment je travaille avec un applicatif qui fonctionne correctement mais demande une intervention manuelle hebdomadaire.

Chaque semaine "travaillée", je dois imprimer une série d'enveloppes à raison d'une enveloppe par classe et/ou groupe.

j'ai donc un fichier excel qui contient les 4 champs CLASSE / NUM_SEM (le numéro de la semaine) / LUNDI / VENDREDI (lundi et vendredi de la semaine sont calculés à partir du numéro de semaine, ça, je sais faire).

Un document word fait le publipostage à partir de ces informations.

sur l'enveloppe c'est très basique, il y a "classe pour la semaine du jj/mm/aaaa au jj/mm/aaaa"

Et chaque semaine, je change le numéro de semaine pour relancer le publipostage pour chaque classe. Je triche en faisant une série de quelques semaines à l'avance, mais bon cela reste très "manuel" comme fonctionnement.
Je pourrai recopier ma feuille excel autant de fois que le numéro de semaine change, mais d'une part c'est long, d'autre part c'est très... C....

Le but de l'amélioration que je souhaite mettre en place est le suivant :

obtenir toutes les lignes des semaines

Plutôt que de changer le numéro de semaine à chaque fois, je souhaite utiliser deux feuilles excel différentes l'une contenant uniquement les noms des classes et/ou groupes (qui peuvent changer mais une fois par an seulement) et l'autre un calendrier perpétuel que j'alimente avec les informations de semaines travaillées ou non travaillées une fois par an également.

dans la feuille "section" je n'ai donc que des nom de classes. Qui éventuellement ne changent qu'une fois par an.
dans la feuille "calendrier" je retrouve mes numéros de semaine et lundi, vendredi, valides pour toute une année.

Je souhaite donc à partir de ces deux feuilles en construire une troisième dynamiquement qui récupère pour le premier enregistrement de la feuille section, tous les enregistrements de la feuille calendrier et ainsi de suite pour chaque enregistrement de la feuille section et pour une année entière. Ensuite mon publipostage s'appuiera sur cette nouvelle feuille excel.

En pièce jointe d'une part ce que j'utilise et qui fonctionne
sections.xlsx

d'autre part les deux fichiers excel que je souhaiterai "lier" pour n'en faire plus qu'un seul et alimenter mon docx (en filtrant sur sem scol non vide)

calendrier des semaines.xlsx et nom des sections.xlsx
 

Pièces jointes

  • sections.xlsx
    10.6 KB · Affichages: 41
  • noms des sections.xlsx
    9.7 KB · Affichages: 39
  • calendrier des semaines.xlsx
    17.9 KB · Affichages: 43

DGR

XLDnaute Nouveau
Bonjour,

voilà c'est fait.
feuille "calendrier" que je voudrais lier avec la feuille "noms des sections" pour obtenir pour toutes les semaines ou "sem scol" n'est pas vide la feuille "bidouille actuelle" que pour le moment, je modifie manuellement en changeant NumSemaine.
 

Pièces jointes

  • forum.xlsx
    18.8 KB · Affichages: 44

DGR

XLDnaute Nouveau
Oui, la question n'est pas limpide, je le concède.... Je souhaite à partir des feuilles "noms de sections" et "calendrier" construire une nouvelle feuille composée des colonnes Classe NumSemaine Lundi Vendredi pour toutes les Classe et toutes les NumSemaine quand sem scol n'est pas vide.

pour avoir une liste dans le style

NumSemaine__Classe___Lundi______Vendredi
36___________6.1____4-sept.-17___8-sept.-17
36___________6.2____4-sept.-17___8-sept.-17
36___________6.3____4-sept.-17___8-sept.-17
36___________6.4____4-sept.-17___8-sept.-17
... .... ..... ......
36___________3.4____4-sept.-17___8-sept.-17
36___________Etude__4-sept.-17___8-sept.-17
37___________6.1____11-sept.-17__15-sept.-17
37___________6.2____11-sept.-17__15-sept.-17
37___________6.3____11-sept.-17__15-sept.-17
37___________6.4____11-sept.-17__15-sept.-17
...
38
38
38
38
...


Est-ce plus claire ainsi ?
 

chris

XLDnaute Barbatruc
Bonjour

Il serait bien de préciser ta version Excel dans ton profil et dans tes fils, le solutions n'étant pas les mêmes selon la version.

Une solution MsQuery

Ni union, ni liaison mais produit cartésien
 

Pièces jointes

  • ForumMSQuery.xlsx
    22.1 KB · Affichages: 46

DGR

XLDnaute Nouveau
Merci, c'est presque ça. Je veux juste pouvoir utiliser la même liste implémentée sur toutes les semaines "civiles" (NumSemaine = de 01 à 52/53-ça commence par 36 car la rentrée scolaire se fait en semaine civile n°36....) et tant qu'il s'agit d'une semaine scolaire travaillée (semscol non vide <=> semscol = de 01 à 36 Il y a des trous dans la séquence des semaines "civiles" NumSemaine pour les vacances scolaires).

Après plus dur, je vais faire ma chieuse, il me faut une ou deux pistes de départ pour utiliser MSQuery (SQL ne m'est pas totalement étranger, je dois avoir quelques restes de quand j'étais jeune... ) C'est le MS de Query qui me bloque un peu plus.... :)


Excel 2010
 

DGR

XLDnaute Nouveau
Merci beaucoup pour ces renseignements.
Le lien vers le tuto est cassé.
Modifier le numéro de semaine est déjà ce que je fais dans "bidouille actuelle", mon besoin est d'avoir une liste sur toutes les semaines.
En tout cas, effectivement, une requête SQL doit m'apporter la réponse. Je vais fouiller.

Cordialement.
 

chris

XLDnaute Barbatruc
Bonjour

Modifie la requête
soit en enlevant la semaine dans le where
soit en modifiant le
Code:
(`calendrier$`.NumSemaine=?)

en

(`calendrier$`.NumSemaine>=?)
ou en prévoyant un troisième paramètre <=
pour choisir de telle semaine à telle semaine ce qui devient alors très souple.

Ci-joint une copie du tutoriel.

EDIT : il faut ajouter
order by 2,1
en fin de requête pour que la liste reste classée par semaine car ce n'est plus le cas si on liste plus d'une semaine
 

Pièces jointes

  • msqueryTutoriel.zip
    612.9 KB · Affichages: 45
Dernière édition:

Si...

XLDnaute Barbatruc
Bonsoir

j'ai la comprenette qui n'est pas fiable donc, sans garantie, un classeur avec une seule feuille (Exit l''onglet de recensement des dates avec les formules et l'onglet des classes) mais avec 2 petites macros.

Nota : j'ai gardé la première formule (le + 1 ne me disant rien)
 

Pièces jointes

  • calendrier scolaire_semaines.xlsm
    24.9 KB · Affichages: 41

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 868
dernier inscrit
JJV