Boostez vos compétences Excel avec notre communauté !
Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force.
Apprenez, échangez, progressez – et tout ça gratuitement !
👉 Inscrivez-vous maintenant !
Je cherche à colorier en bleu les cellules de la colonne 1 onglet Feuil1, lorsque la cellule étudiée de cette colonne possède la chaine de caractère présente dans l'onglet Feuil2 colonne 1.
La MFC fonctionne pour des lettres simples, avec le code suivant :
NB.SI n'accepte pas la plupart du temps les "calculs" comme argument. A partir de là, il faut faire autrement, avec une autre fonction, des formules nommées...
Pourrais tu nous dire ce que tu veux faire exactement avec la seconde formule que tu proposes pour la MFC ?
Mon objectif est de :
Trouver la valeurs mise dans les 200 premieres cellules de la colonne 1 onglet Feuil1, à partir de la plage de recherche de l'onglet Feuil2 colonne 1 (60 premieres cellules)
Le code que j'ai mis avait pour objectif de chercher, dans la chaine de caractère de la feuil1, la chaine de caractère de la feuil2, sans me soucier de vecteur de recherche.
Peut être que la solution est d'utiliser la fonction RECHERCHE au lieu de CHERCHE , car il me faut ce vecteur
Si tu as toujours des incompréhensions, n'hésites pas .
Ci-joint, un fichier mettant en évidence les textes de la colonne A de la feuille 1 contenant un des textes, au moins, de la colonne A de la feuille 2.
En colonne C et D, des formules matricielles montrant d'où vient la formule utilisée dans la mise en forme conditionelle.
Au passage, les textes de la colonne A de la feuille 2 contiennent, à la fin, de nombreux espaces blancs. J'ai dû les supprimer avec SUBSTITUE, mais je ne sais quel caractère correspond à ces espaces blancs : ce n'est pas la barre d'espace. J'ai dû faire avec un copier-coller pour que cela fonctionne.
Les calculs sont anormalement longs pour si peu de lignes. Une fois que tu auras compris le système, tu auras tout intérêt de supprimer les colonnes supplémentaires C et D.
Merci pour ton fichier, je me compliquais la vie alors que les "*" simplifient tout.
Malheureusement, certaines tables sont mises en rouge alors qu'elles ne sont pas présentes dans la liste des tables SQL Feuil2 colonne A.
Exemple : ligne 28 , Colonne A, onglet Feuil1 : "PS_FC_PARAM_TBL" non présent dans l'onglet Feuil2.
Jai du faire une erreur également dans le nommage de la plage
j'ai l'impression que la cellule A28 est colorée à cause du contenu de Feuil2!A60, à savoir la lettre B. N'y aurait-il pas un erreur dans le contenu de cette cellule ?
Tu as raison cest la cellule avec B qui posait problème.
Jai tenté de reproduire la meme chose en recherchant une valeur avec la fonction cherche :=CHERCHE(A1,D1😀60,A1) mais jobtiens une erreur #valeur! ou #ref!
Je voulais savoir si tu pouvais détailler ta demarche avec les formules matricielles sur les colonnes C et D pour obtenir ces valeurs.
remplace dans la colonne Feuil2!A$1:A$60 les " " par des "" (ces " " sont dans la colonne A de feuil2, mais pas dans la colonne A de Feuil1. Cela ne sert donc à rien de rechercher dans la colonne A de feuil1 les termes de la colonne A de feuil2 tels que, sans les modifier). Le fait d'utiliser une formule matricielle permet de faire la substitution sur tous les termes de la plage Feuil2!A$1:A$60 et pas uniquement sur Feuil2!A$1.
renvoie la position du premier caractère de toutes les chaines de caractères lues en Feuil2!a$1:a$60 contenue dans feuil1!A1 (si elle en trouve une). Cette partie renvoie donc un nombre si elle trouve un des textes de Feuil2!A$1:A$60 dans A1, et un message d'erreur dans le cas contraire.
On pourrait presque faire ici la SOMME directement, mais tous ces messages d'erreur posent problème. Pour résoudre ce problème, on fait
qui renvoie :
* VRAI lorsque CHERCHE a trouvé un des textes de Feuil2!A$1:A$60 dans Feuil1!A1.
* FAUX lorsque les textes de Feuil2!As1:A$60 n'ont pas été trouvé dans Feuil1A1.
On a donc maintenant par exemple {VRAI;VRAI;FAUX;FAUX..........FAUX;FAUX;FAUX;VRAI}
En multipliant par 1, les VRAI sont transformés en 1 et les FAUX en 0.
On a donc maintenant par exemple {1;1;0;0..........0;0;0;1}.
On peut ensuite faire la somme de tous ces 0 et de ces 1.
@ plus
P.S : La formule matricielle permet de faire le calcul sur une plage avec une fonction plutot prévue initialement pour ne travailler que sur une cellule, comme SUBSTITUE ici. Cela ne fonctionne que si il y a dans la formule une autre fonction, qui, elle, est prévue pour travailler sur une plage, du style, SOMME, MIN, MAX...
Merci beaucoup les formules matricielles servent a appliquer les formules sur des ranges plutot que sur une cellule unique.
Je voulais savoir, au niveau de la présentation si je souhaite mettre toute la ligne en rouge au lieu de la cellule de la colonne A, que dois je changer dans la MFC ?
Avec les MFC, je crois que oui. Par conséquent, il est peut être plus simple de garder une colonne intermédiaire, si cela ne te gêne pas, de la cacher si besoin est, et de faire la MFC par rapport à cette colonne intermédiaire. Cf. le fichier en pièce jointe.
Je ne vois pas le texte PS_FC_INSTCONTRACT dans la liste dans le second onglet... Ai-je besoin de nouvelles lunettes, ou as tu oublié de le rajouter ?
De plus, il semble qu'il y ai un problème lié à la définition de mesvaleurs. Sur les anciens fichiers, avec $A:$A, toutes les lignes ne sont pas coloriées. Avec ton dernier fichier, le A2:A200 semble poser problème. Si on rajoute des $, toutes les lignes sont coloriées... Je vais chercher d'où vient ce problème.
Javais oublié de sauver le fichier lors du rajout, tu trouveras en pièce jointe le fichier avec l'ajout sur lequel je travaille (ajout d'une colonne intermédiaire pour diminuer le temps de réponse)
Merci,
Arthur HO.
modif sur le fichier envoyé : après avoir enfin compris les formules matricielles
- Navigue sans publicité - Accède à Cléa, notre assistante IA experte Excel... et pas que... - Profite de fonctionnalités exclusives Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel. Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.