Affinity-Forum
Données CSV "à la ligne" - Version imprimable

+- Affinity-Forum (https://www.affinity-forum.fr)
+-- Forum : AFFINITY PUBLISHER V1/V2 (https://www.affinity-forum.fr/forumdisplay.php?fid=164)
+--- Forum : QUESTIONS (https://www.affinity-forum.fr/forumdisplay.php?fid=165)
+--- Sujet : Données CSV "à la ligne" (/showthread.php?tid=6418)



Données CSV "à la ligne" - hello_patrickF - 01-02-22

Bonjour à tous,

Ça fait quelques années que je suis passé sur la suite Affinity mais là un client vient de me poser une colle. Sa commande est simple bien que je n'avais jamais eu à le faire jusqu'alors, pourtant je sèche complètement à faire ça sur Affinity Publisher.

Pour la commande, il faut que j'importe les données d'un document CSV pour faire une sorte d'annuaire (nom + contact + descriptif + etc). Autant importer les données et les mettre dans un tableau via l'outil Mise en page de fusion de données, ne me pose pas de soucis, autant, importer les données pour les placer "à la ligne" comme dans un bloc texte… Je n'y arrive pas !
Dodgy
L'outil de tableau est sympa pour faire des éléments graphiques répétés de même taille, mais comment faire pour que les données (de tailles différentes) apparaissent à la suite sans grille prédéfinie ?
[Image: image.png]

Merci d'avance pour les astuces/conseils à venir Smile


RE: Données CSV "à la ligne" - YvanM - 01-02-22

Bonjour,
Il faut passer par l'outil "Mise en page de fusion de données", c'est faisable, mais pas vraiment automatique :
- Ouvrir un nouveau document avec une seule page A4, et insérer un tableau avec l'outil "Mise en page de fusion de données" (et pas avec l'outil tableau)
- Ajuster le tableau de fusion de données dans la page A4 grâce à la barre de sous-menu qui apparait en haut de l'écran, mettre par exemple 2 colonnes et 6 lignes.
- Dans la première case EN HAUT A GAUCHE, insérer une zone de texte (T) et c'est là dedans qu'il faut placer les différents champs de données en double-cliquant sur les champs concernés .

Pour placer les champs de données :
DOCUMENT --> GESTIONNAIRE DE FUSION DE DONNEES, brancher le CSV en appuyant sur l'icône en bas à gauche, puis avec le sous-menu CHAMPS (AFFICHAGE -->MENU-->CHAMPS) placer les différents Champs voulus par double-clic UNIQUEMENT dans la première case en haut à gauche.
Reste à générer le fichier final, mais ce n'est pas tout. En effet, dans ce fichier final, les différents blocs de champs sont générés en longueurs égales, ce qui veut dire que si vos blocs textes ne sont pas d'égales longueurs (comme dans l'exemple plus haut), va falloir remettre tout en place à la main pour que tout cela soit beau.
Ci dessous un exemple avec 5 lignes de données de 2 champs chacune. On peut également choisir de disposer les données de différentes manières dans la feuille (icône "ordre de mise en page")
[Image: Capture-d-cran-2022-02-01-21-21-28.jpg]


RE: Données CSV "à la ligne" - hello_patrickF - 02-02-22

Merci pour ta réponse Blush

Mais en réalité j'ai déjà fait ce que tu dis et j'ai déjà obtenu le fameux tableau de X lignes par Y colonnes avec mes données mises en page. En fait, j'arrive sans problème jusqu'à :

Citation :va falloir remettre tout en place à la main pour que tout cela soit beau.

Qu'est-ce que tu préconises ? Je dois générer la fusion pour ensuite déplacer chaque cellule ? Ou copier/coller leur contenu dans un bloc texte ? J'en ai 220…  Confused
Ça signifie aussi que si le client revient vers moi avec un CSV mis à jour, il faudra que j'aille chercher les modifications à la main !

Ça me paraît étonnant qu'il n'y ait pas un outil permettant de générer toutes les données (220 × chaque entrées du CSV) dans un bloc texte à la suite.


RE: Données CSV "à la ligne" - YvanM - 03-02-22

Effectivement, aussi étonnant que cela paraisse il n'y a pas d'outil permettant de générer toutes les données à la suite les unes des autres dans un seul et unique bloc de texte. Les données étant traitées comme un publipostage d'étiquettes, il restera forcément des (grands) blancs entre des blocs textes d'inégales longueurs.

On peut cependant contourner le problème en se passant de la fusion de données. En effet, un simple copier-coller du fichier CSV, permet de l'inclure dans un bloc de texte multi-colonne (ou pas), de lier ce bloc de texte sur plusieurs pages afin qu'ils contiennent 220 données par exemple, et ensuite de mettre rapidement en forme le CSV à l'aide d'une commande GREP. Explications en 5 étapes :

1- ouvrir le fichier CSV de base, faire un copier de l'ensemble des données.
2- ouvrir un nouveau fichier ADesigner, créer un bloc de texte de la taille de la page A4, mettre si besoin en multicolonnage, et coller le CSV à l'intérieur. C'est moche pour le moment mais c'est normal !
3- Afficher les caractères spéciaux : TEXTE--> AFFICHER LES CARACTERES SPECIAUX

Sur la copie d'écran ci-dessous, on voit que les champs du CSV collé sont séparés par des caractères spéciaux : une virgule plus un guillemet séparent les champs et à la fin de chaque enregistrement il y a un guillemet plus un retour à la ligne.
[Image: Capture-d-cran-2022-02-03-10-39-36.png]

4- Séparer les champs : ouvrir le sous-menu RECHERCHER ET REMPLACER. Dans la case RECHERCHER mettre ," et dans la case REMPLACER PAR, mettre un saut de paragraphe (la petite flèche à l'intérieur de la case à gauche ouvre un menu déroulant permettant de choisir les caractères spéciaux). Cliquer sur TOUT REMPLACER

[Image: Capture-d-cran-2022-02-03-10-39-49.png]
[Image: Capture-d-cran-2022-02-03-10-40-06.png]

5- Mettre un champ en gras : pour faire cela, il faut rechercher un mot compris entre 4 et 15 lettres avec un saut de paragraphe derrière. la formule GREP à entrer dans la case RECHERCHER est : [a-zA-Z]{4,15}\n
Évidemment, si il y a un mot plus long on change le 15 par autre chose.
Dans la case REMPLACER PAR, cliquer sur la petite roue dentée à droite, sélectionner FORMAT et choisir une police d'écriture différente (ici ARIAL gras sans italique). Cliquer sur TOUT REMPLACER et là... c'est beau !
[Image: Capture-d-cran-2022-02-03-10-52-42.png]

Voir ci dessous ce que ça donne. C'est plus simple que la fusion de données et très rapide, on utilise une seule zone de texte sur autant de pages que l'on veut avec un multi-colonnage si besoin et on peut corriger directement dans la zone texte (ou rajouter des trucs). 

[Image: Capture-d-cran-2022-02-03-10-53-38.png]


RE: Données CSV "à la ligne" - hello_patrickF - 13-06-22

Merci YvanM pour cette solution. Approche différente et intéressante mais dans mon cas de figure c'est un peu plus complexe Sad
J'ai effectivement des champs à styliser mais ils contiennent parfois plus qu'un mot donc ta formule GREP ne fonctionnera pas. Je me trompe ?
Actuellement, le plus simple que j'ai trouvé comme solution est de faire une fusion puis de copier-coller chaque contenu bloc-texte stylisé dans un nouveau document dans un seul bloc… fastidieux.

PS : désolé pour la réponse tardive, le projet a été décalé et je remets enfin les mains dedans Tongue