Publipostage : si cellule contient au moins "nuit" alors
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
- Publipostage : si cellule contient au moins "nuit" alors
- Publipostage - Accueil - Word
- Publipostage date inversée - Forum Excel
- Publipostage word plusieurs destinataires sur une page ✓ - Forum Word
- Arrondi publipostage - Forum Word
- Publipostage sur excel sans word - Forum Word
2 réponses
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€
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
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.