Si il est écrit CP alors je veux écrire le nom de l'employé
Résoluluckydu43 Messages postés 4259 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour un planning, sur celui-ci il y a un tableau des congés et autres absences. Lorsqu'il est écrit CP devant le nom d'un employé, je voudrais que son nom s'affiche dans une cellule en en tete du planning. Et ainsi de suite pour l'ensemble des employés et dans la même cellule.
J'ai utilisé la formule =SI(OU(NB(...);"*CP*";concatener; etc...
La formule fonctionne sauf que tous les noms s'affiche alors qu'il y a un seul employé ou il est écrit CP devant son nom.
Si quelqu'un a une solution, je suis preneur.
Merci
Android / Chrome 130.0.0.0
- Si il est écrit CP alors je veux écrire le nom de l'employé
- Ecrire en gras sur whatsapp - Guide
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Comment écrire # sur pc - Guide
- Écrire en majuscule - Guide
- Nom de compte steam exemple - Forum Jeux vidéo
6 réponses
Bonsoir
Je me suis amusé avec Excel, il est bien possible de faire ce traitement.
=JOINDRE.TEXTE(", "; VRAI; SI(NON(ESTERREUR(CHERCHE("CP"; A2:A100))); SUBSTITUE(A2:A100; "CP"; ""); ""))
- JOINDRE.TEXTE() se charge de la concaténation
- CHERCHE() recherche la position de "CP" dans la cellule. Si il n'y a rien, au lieu de renvoyer une valeur (la position) elle renvoie une erreur
- ESTERREUR() transforme l'erreur renvoyée par CHERCHE() dans le cas où elle ne renvoie rien par un VRAI
- NON() inverse la logique. Ainsi, NON(ESTERREUR(CHERCHE())) renvoie VRAI si c'est présent sans avoir levé d'erreur et FAUX si une valeur n'a pas été trouvée en levant une erreur
- SUBSTITUE() retire le CP de la chaîne pour simplifier l'affichage
Vérifiez bien qu'il ne faille pas étendre la recherche au-delà de A100 voire changer de colonne. Attention, il y a 4 références de cellules dans cette formule avec SUBSTITUE().
Bonjour,
En prenant en compte le fichier déposé au message 4, voici une formule qui traite bien le cas demandé en se limitant à la plage des données du fichier et en prenant en compte les cas d'erreur :
=JOINDRE.TEXTE(", ";VRAI;FILTRE(B21:B37;(G21:G37="CP")*(ESTTEXTE(B21:B37));""))
Comme prévu, la logique est un peu plus simple que celle de mon message précédent :
- JOINDRE.TEXTE, comportement inchangé
- FILTRE permet de faire le traitement de "si G contient CP"
- ESTTEXTE est un blindage, des fois que certaines données de B dans la plage sélectionnée soient incohérentes
Bonjour,
Pour y voir plus clair et donner une réponse adaptée il serait préférable de nous joindre un fichier exemple anonymisé.
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
merci de votre retour. je vais essayer votre formule même si j'ai peur ne pas s'avoir l'appliquer.
Bonne journée.
Elle ne marche pas dans votre cas, vous aviez mal énoncé le problème !
J'ai ici traité dans le cas où "CP" a été rajouté devant le nom dans la même cellule.
Je regarde ça plus tard pour faire une version adaptée, certainement simplifiée puisqu'il n'y aura plus à utiliser SUBSTITUE()
Désolé, il est vrai que ce n'est pas forcément simple à expliquer quand on est novice intermédiaire.