Bonjour à tous,
Je cherche à faire un publipostage massif (environ 2346 destinataires) à destination de propriétaires riverains de cours d'eau.
Chaque ligne de ma base de données (11229) correspond à une parcelle riveraine de cours d'eau.
Et bien entendu, chacun des 2346 propriétaires possède de une à X parcelles.
Le but final étant de leur envoyer à chacun un courrier comprenant un tableau listant leurs parcelles riveraines avec quelques informations complémentaires, ce qui implique que ces tableaux présentent des nombres de lignes différents.
Voici un exemple d'extrait de ma base de données :
Propriétaire | Commune | Parcelle | Cours d'eau | Destinataire
SCI BLABLA | TRIFOUILLI LES QUATRE OIES | 0B0142 | LA RIVIERE | SCI BLABLA ET M UNTEL
M UNTEL | TRIFOUILLI LES QUATRE OIES | ZD0003 | LE RU | SCI BLABLA ET M UNTEL
MME TRUCKMUCH | PARMONTS ET PARVAUX | 0A1120 | LE RU | MME TRUCKMUCH
MME TRUCKMUCH | PARMONTS ET PARVAUX | 0A1121 | LE RU | MME TRUCKMUCH
MME TRUCKMUCH | PARMONTS ET PARVAUX | 0A1122 | LE RU | MME TRUCKMUCH
MME TRUCKMUCH | LES MAISONS D EN BAS | 0G0023 | LE RU | MME TRUCKMUCH
...
Le but étant que SCI BLABLA ET M UNTEL reçoive un tableau de la forme :
Propriétaire | Commune | Parcelle | Cours d'eau
SCI BLABLA | TRIFOUILLI LES QUATRE OIES | 0B0142 | LA RIVIERE
M UNTEL | TRIFOUILLI LES QUATRE OIES | ZD0003 | LE RU
Et que MME TRUCKMUCH reçoive un tableau de la forme :
MME TRUCKMUCH | PARMONTS ET PARVAUX | 0A1120 | LE RU
MME TRUCKMUCH | PARMONTS ET PARVAUX | 0A1121 | LE RU
MME TRUCKMUCH | PARMONTS ET PARVAUX | 0A1122 | LE RU
MME TRUCKMUCH | LES MAISONS D EN BAS | 0G0023 | LE RU
J'ai donc en tant que novice consulté les discussions, tutos et supports Microsoft suivants :
http://www.developpez.net/forums/d42...serer-tableau/
http://www.developpez.net/forums/d40...gement-client/
http://www.developpez.net/forums/d20...nnees-d-champ/
http://heureuxoli.developpez.com/publipostage/
http://support.microsoft.com/kb/105888/fr
Pour la préparation de ma base de données à ce publipostage, j’ai tout d’abord fait en sorte d'avoir un champ (X) qui admette une valeur particulière (X) pour la dernière ligne de chaque "Destinataire_Nom".
Puis, j’ai listé toutes les occurrences du champ « Destinataire_Nom » via un tableau croisé dynamique (suivi d’un copier-coller des valeurs uniques et suppression du tableau croisé dynamique) ;
Enfin, afin de connaître le nombre de fois où je devais répéter la règle « Suivant si » dans mon publipostage, j’ai fait un comptage du nombre de chaque occurrence avec la formule "NB.SI" (http://office.microsoft.com/fr-fr/ex...e_value_occurs) puis obtenu la valeur maximale via la formule "MAX".
Voici ensuite le code que j’applique (réduit volontairement à 4 répétitions) :
Problème, en regardant l’aperçu des résultats :
- je n'ai pas un nombre de lignes variable en fonction du nombre de parcelles de chaque propriétaire (4 lignes fixes) ;
- je n’ai jamais de saut de page entre les différents propriétaires ;
- pour un propriétaire d’au moins 2 parcelles, j’ai une répétition de la même parcelle :
- pour la première parcelle, sur les trois dernières lignes suivant la dernière parcelle du propriétaire précédent, puis sur les 4 lignes de l’aperçu suivant ;
- d’une même parcelle (de la première à l’avant-dernière) sur les 4 lignes de chaque aperçu ;
- la dernière parcelle n’ayant qu’une seule ligne, suivie :
- de 3 fois la même parcelle, si le propriétaire suivant possède plusieurs parcelles ;
- d’une seule fois la parcelle suivante, si le propriétaire suivant ne possède qu’une parcelle.
Illustration :
Avec la BDD suivante :
M X | TRIFOUILLI | 0D0345 | LE CHEMIN
M Y | PARMONTS | ZA1123 | LE MONT
M Y | PARMONTS | ZA1124 | LE MONT
M Y | PARMONTS | ZA1125 | LE MONT
M Z | PARVAUX | 0B0234 | LE VAL
M Z | PARVAUX | 0B0235 | LE VAL
MME A | TRIFOUILLI | 0D0546 | LE MOULIN
MME B | TRIFOUILLON | 0A0012 | LE CHATEAU
MME C | PARMONTS | ZD0009 | LES PRES
MME D | GRANDMONT | 0C0034 | LES CHAMPS
J’obtiens :
Aperçu 1 :
M X | TRIFOUILLI | 0D0345 | LE CHEMIN
M Y | PARMONTS | ZA1123 | LE MONT
M Y | PARMONTS | ZA1123 | LE MONT
M Y | PARMONTS | ZA1123 | LE MONT
Aperçu 2 :
M Y | PARMONTS | ZA1123 | LE MONT
M Y | PARMONTS | ZA1123 | LE MONT
M Y | PARMONTS | ZA1123 | LE MONT
M Y | PARMONTS | ZA1123 | LE MONT
Aperçu 3 :
M Y | PARMONTS | ZA1124 | LE MONT
M Y | PARMONTS | ZA1124 | LE MONT
M Y | PARMONTS | ZA1124 | LE MONT
M Y | PARMONTS | ZA1124 | LE MONT
Aperçu 4 :
M Y | PARMONTS | ZA1125 | LE MONT
M Z | PARVAUX | 0B0234 | LE VAL
M Z | PARVAUX | 0B0234 | LE VAL
M Z | PARVAUX | 0B0234 | LE VAL
Aperçu 5 :
M Z | PARVAUX | 0B0234 | LE VAL
M Z | PARVAUX | 0B0234 | LE VAL
M Z | PARVAUX | 0B0234 | LE VAL
M Z | PARVAUX | 0B0234 | LE VAL
Aperçu 6 :
M Z | PARVAUX | 0B0235 | LE VAL
MME A | TRIFOUILLI | 0D0546 | LE MOULIN
MME B | TRIFOUILLON | 0A0012 | LE CHATEAU
MME C | PARMONTS | ZD0009 | LES PRES
Aperçu 7 :
MME A | TRIFOUILLI | 0D0546 | LE MOULIN
MME B | TRIFOUILLON | 0A0012 | LE CHATEAU
MME C | PARMONTS | ZD0009 | LES PRES
MME D | GRANDMONT | 0C0034 | LES CHAMPS
...
Donc avant de passer au tableau, quel est donc le problème de mon code ?
Par ailleurs, j'ai déjà eu un problème d'aperçu de publipostage simple pour des étiquettes où l'aperçu comptait des répétitions alors qu'à l'impression, je n'en avais aucune. Donc si le code vous semble bon, merci de m'en faire part !
Par ailleurs, si jamais la solution via tableau à nombre de lignes variable ne passe pas uniquement par Word et qu'il faut faire appel à Access, vu que je ne le possède pas, je vais devoir passer par Writer et Base d'OpenOffice, et recréer une discussion dans le forum concerné.
Merci d’avance de vos réponses !
Partager