Publipostage : si cellule contient au moins "nuit" alors

MulotProspere92 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
m@rina Messages postés 27275 Date d'inscription   Statut Contributeur Dernière intervention   -

Bonjour,

Je ne parviens pas à trouver comment demander à word de résoudre ça :

Si dans les cellules de la colonne "métier" il y a le mot nuit, alors Y€

J'ai des métiers de nuits (Aide de nuit, surveillant de nuit...) qui doivent tous avoir Y€, et dans la même colonne du fichier excel de publipostage il y a bien sûr d'autres métiers qui ne sont pas de nuit eux. Mais en mettant nuit sous le format *nuit*, ça ne fonctionne pas. Est-ce une demande trop poussée pour du publipostage ou auriez-vous une solution ?

Merci d'avance pour votre aide !
Windows / Edge 144.0.0.0

2 réponses

Bruno83200_6929 Messages postés 688 Date d'inscription   Statut Membre Dernière intervention   160
 

Bonjour,

Champ à insérer dans Word

Très important :
Les accolades { } ne doivent PAS être tapées au clavier.
Il faut les insérer avec Ctrl + F9.

Champ IF à utiliser

{ IF { =INSTR(1; "{ MERGEFIELD métier }"; "nuit") } > 0 "Y€" "X€" }

Explication rapide :

INSTR cherche le mot nuit dans le champ métier

Si trouvé → retourne une position > 0

Donc → Y€

Sinon → X€


0
Nain_Porte_Quoi Messages postés 123 Date d'inscription   Statut Membre Dernière intervention   19
 

Ca sens la réponse d'une IA ça... et à ma connaissance Word n'a pas de champ INSTR sauf la fonction Instr en VBA 

Vous avez testé ?

Rappel : IA = Idiotie Avérée

0
brucine Messages postés 23982 Date d'inscription   Statut Membre Dernière intervention   3 823 > Nain_Porte_Quoi Messages postés 123 Date d'inscription   Statut Membre Dernière intervention  
 

Bonjour,

En effet.

La situation est décrite par exemple ici:

https://microsoft.public.word.mailmerge.fields.narkive.com/pRmQbW2A/using-if-to-find-whether-a-merge-field-contains-a-substring

On trouve des synthèses de différentes approches par exemple ici:

https://learn.microsoft.com/en-us/answers/questions/4941560/can-if-statements-use-contains-as-a-function-and-i

En dehors du VBA les solutions les moins capillotractées semblent a et d; celle en a passe par tester l'emplacement de la chaîne recherchée en utilisant en tête 1, 2, ..n caractères génériques, elle va bien sûr considérablement ralentir l'exécution avec une condition à chaque fois et devenir impraticable si cette chaîne se trouve loin dans le texte.

La solution la plus évidente si le fichier Excel est modifiable est d'y créer une colonne qui dit "nuit" ou un caractère spécifique quelconque pour les postes concernés, à la main ou ce qu'on peut cette fois-ci automatiser.

C'est bien sûr plus facile si les chaînes s'appellent "nuit aide soignant" au lieu de "aide soignant de nuit", mais auquel cas on peut aussi facilement utiliser la solution a puisque la recherche se fait toujours sur le même nombre de caractères à la même position.
 

0
m@rina Messages postés 27275 Date d'inscription   Statut Contributeur Dernière intervention   11 507
 

Bonjour

Effectivement, c'est du délire IA !! ;) Pas de champ INSTR dans Word. Microsoft ne s'est pas embêté à faire ! :(

Le plus simple est d'ajouter une colone dans le fichier Excel.

m@rina


0