[Résolu] Concatener en fonction d'un critère

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
CNTkrew
Fraîchement OOthentifié
Messages : 5
Inscription : 07 juil. 2020 09:54

[Résolu] Concatener en fonction d'un critère

Message par CNTkrew »

Bonjour,

J'ai un tableau avec des individus et le code Insee de leur commune, je souhaite concaténer tout les individus d'une communes dans une case afin de pouvoir faire un publipostage derrière.
Le problème c'est que je coince depuis un bon moment et je ne trouve pas la solution.
Si vous avez des astuces ou soluces je suis preneur.

En exemple mon tableau, j'ai juste anonymisé les individus en colonne B. Je souhaite remplir la case E2 et les suivantes avec les individus de la colonne B qui répondent au critère de la commune.

Merci d'avance.

Bien cordialement.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 6.1.6.3.M13 sous Windows 10.0 64 bits
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6065
Inscription : 02 janv. 2009 23:56

Re: Concatener en fonction d'un critère

Message par Jean-Louis Cadeillan »

Bonjour et bienvenue,
Tu peux mettre en E2 la formule suivante :

Code : Tout sélectionner

=JOINDRE.TEXTE("|";1;SI(Commune=D2;Individu;""))
la plage $Feuille1.$A$2:$A$4405 étant nommée Commune et la plage $Feuille1.$B$2:$B$4405 Individu (Voir Insertion > Plage ou expressions nommées > Gérer).
J'ai choisi le séparateur |, mais on peut choisir ce qu'on veut.
Mais franchement, la concaténation, je ne vois pas trop ce que tu veux obtenir en sortie comme publipostage avec...
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 24.2.7.2 (x64 et Java 1.8.0_461) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
CNTkrew
Fraîchement OOthentifié
Messages : 5
Inscription : 07 juil. 2020 09:54

Re: Concatener en fonction d'un critère

Message par CNTkrew »

Bonjour Jean Louis et grand merci pour cette réponse même si le résultat obtenu ne me satisfait pas réellement. Mon but est d'avoir uniquement les individus résidant sur Abbevile dans la case E2 puis uniquement ceux d'Ablaincourt pressoir dans la case E3 et ainsi de suite. Pour l'instant je n'arrive pas à ce résultat. J'ai consulté pas mal de forum c'est surement possible avec une macro mais je ne maitrise pas du tout. Et si une formule fonctionne c'est préférable.

Bien cordialement.
Libre office 6.1.6.3.M13 sous Windows 10.0 64 bits
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6065
Inscription : 02 janv. 2009 23:56

Re: Concatener en fonction d'un critère

Message par Jean-Louis Cadeillan »

CNTkrew a écrit :le résultat obtenu ne me satisfait pas réellement
Sois plus précis.
CNTkrew a écrit :Mon but est d'avoir uniquement les individus résidant sur Abbevile dans la case E2 puis uniquement ceux d'Ablaincourt pressoir dans la case E3 et ainsi de suite
C'est ce que j'obtiens :
CNTkrew_20200707_JLC01.jpg
Quel est le problème que tu as ? Fais une capture d'écran si nécessaire...
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 24.2.7.2 (x64 et Java 1.8.0_461) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
CNTkrew
Fraîchement OOthentifié
Messages : 5
Inscription : 07 juil. 2020 09:54

Re: Concatener en fonction d'un critère

Message par CNTkrew »

Vous avez exactement ce que je veux voici ce que j'ai de mon côté (voir copie écran), tous les individus se concatène dans la cellule de 1 a 4400 et quelques.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre office 6.1.6.3.M13 sous Windows 10.0 64 bits
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6065
Inscription : 02 janv. 2009 23:56

Re: Concatener en fonction d'un critère

Message par Jean-Louis Cadeillan »

Ma version, la 6.3.6.2 permet à JOINDRE.TEXTE() de forcer SI() à fonctionner en matriciel (c'est à dire que SI() retourne une plage de valeurs). Le problème vient peut-être de là avec ta version.
Dans ce cas, la solution serait de valider la formule en matriciel par Ctrl+Maj+Entrée.
Pour la recopier vers le bas :
  • il suffit de positionner la souris dans le coin inférieur droit de la cellule : le curseur se transforme en croix (+), puis, il faut cliquer/glisser vers le bas (ou double-cliquer, ici) tout en appuyant simultanément sur la touche Ctrl ;
  • une autre manière de faire est de copier la cellule initiale (Ctrl+C), puis de sélectionner la plage des cellules qui doivent contenir la même formule, puis de coller (Ctrl+V) .
À tester ci-joint.
Cordialement,
Jean-Louis
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibO 24.2.7.2 (x64 et Java 1.8.0_461) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
CNTkrew
Fraîchement OOthentifié
Messages : 5
Inscription : 07 juil. 2020 09:54

Re: Concatener en fonction d'un critère

Message par CNTkrew »

Un grand merci Jean-Pierre, je viens de me dépatouiller, et j'ai exactement ce que je voulais inespéré...
Libre office 6.1.6.3.M13 sous Windows 10.0 64 bits
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9836
Inscription : 28 août 2010 08:45

Re: Concatener en fonction d'un critère

Message par micmac »

Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Jean-Louis Cadeillan
GourOOu
GourOOu
Messages : 6065
Inscription : 02 janv. 2009 23:56

Re: Concatener en fonction d'un critère

Message par Jean-Louis Cadeillan »

En fait ma version de LibreOffice ne permet pas de forcer SI() à fonctionner en matriciel. C'est une mauvaise interprétation de ce qui s'est passé. Tout d'abord, j'ai créé la formule en matriciel, puis, par acquit de conscience, je l'ai revalidée en mode normal (j'ai ressaisi le = puis Entrée) : la formule non matricielle donnait toujours le bon résultat et même la recopie de cette cellule vers le bas donnait toujours le bon résultat.
J'ai enregistré le fichier ainsi modifié et c'est le JLC01. Ce que je n'avais pas vérifié, c'est qu'en forçant le recalcul après réouverture (par Maj+Ctrl+F9), la formule ne donnait plus le bon résultat. Sans réenregistrer après recalcul forcé, lorsque j'ai rouvert le fichier, il continuait à me donner le bon résultat...mais pas chez toi, d'où le hic.
Cordialement,
Jean-Louis
LibO 24.2.7.2 (x64 et Java 1.8.0_461) et AOO 4.1.15 (et Java x32 1.8.0_431), Windows 7 Édition Intégrale 64 SP1
CNTkrew
Fraîchement OOthentifié
Messages : 5
Inscription : 07 juil. 2020 09:54

Re: Concatener en fonction d'un critère

Message par CNTkrew »

Je comprend mieux, même si je suis loin d'être un expert, je posterai une photo du rendu une fois le publipostage terminé.
Merci encore et bonne soirée.
Libre office 6.1.6.3.M13 sous Windows 10.0 64 bits
Jeff
GourOOu
GourOOu
Messages : 9944
Inscription : 18 sept. 2006 09:40
Localisation : France

Re: Concatener en fonction d'un critère

Message par Jeff »

Bonjour à tous,
CNTkrew a écrit :Un grand merci Jean-Pierre
C’est quand Jean-Louis reste de marbre :lol: , OK je :arrow:
À lire avant tout !

Pour télécharger Apache OpenOffice

AOO 4.1.15 / Debian 12.10 "bookworm" / Xfce