Excel: attribuer format à cellule autre feuil
brink33
-
brink33 -
brink33 -
Bonjour,
Comme on peut le deviner dans le titre, je cherche à attribuer un format (couleur etc.) à une cellule, en fonction d'une cellule se trouvant dans une autre feuille excel.
Ma formule, quand cela s'applique aux cellules d'une même feuille est:
=ESTNUM(CHERCHE("ok";$A2)) dans la mise en forme conditionnelle.
Que dois-je ajouter pour pouvoir se référer à une autre feuille svp?
J'ai essayé des trucs du genre: =ESTNUM(CHERCHE(feuil1;"ok";$A2)) ou autre, mais sans succès...
Merci d'avance!!
Comme on peut le deviner dans le titre, je cherche à attribuer un format (couleur etc.) à une cellule, en fonction d'une cellule se trouvant dans une autre feuille excel.
Ma formule, quand cela s'applique aux cellules d'une même feuille est:
=ESTNUM(CHERCHE("ok";$A2)) dans la mise en forme conditionnelle.
Que dois-je ajouter pour pouvoir se référer à une autre feuille svp?
J'ai essayé des trucs du genre: =ESTNUM(CHERCHE(feuil1;"ok";$A2)) ou autre, mais sans succès...
Merci d'avance!!
A voir également:
- Excel: attribuer format à cellule autre feuil
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
11 réponses
Bonjour
la formule la plus simple est correcte sans doute, mais comme pour les listes de validation,et sauf erreur de ma part, les MFC exigent que les cellules soient nommées pour s'appliquer sur deux feuilles différentes.
alors en nommant A2 par exemple du nom: CELL
=CHERCHE("OK";CELL)
devrait tout simplement fonctionner lorsque OK se trouve dans le texte en A2 feuil1 si A2 feuil1 est nommée CELL
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
la formule la plus simple est correcte sans doute, mais comme pour les listes de validation,et sauf erreur de ma part, les MFC exigent que les cellules soient nommées pour s'appliquer sur deux feuilles différentes.
alors en nommant A2 par exemple du nom: CELL
=CHERCHE("OK";CELL)
devrait tout simplement fonctionner lorsque OK se trouve dans le texte en A2 feuil1 si A2 feuil1 est nommée CELL
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
On dirait bien que c'est la solution mais j'ai un message comme quoi je ne peux pas faire référence à une autre feuille pour la mise en forme conditionnelle...
ok Vaucluse; et comment on nomme une cellule? (même plusieurs vu que je dois faire ça pour de nombreuses lignes, en espérant qu'il est possible de les nommer automatiquement et non pas une par une :) )
Plusieurs solution qui dépendent de l'age de votre Excel
la 1°) qui ne marche pas tout le temps et partout, mais la plus simple à essayer:
sélectionner la cellule ou le champ à nommer
placez le curseur dans la case d'adresse à gauche de la barre de formule
taper le nom voulu pour remplacer l'adresse de cellule
la 2° sur Excel avant 2007
sélectionner la cellule
barre d'outil / insertion / nom et entrer le nom dans la fenêtre qui s'affiche
Excel 2007 et + idem mais avec :
Ruban / onglet formules / Définir un nom
Pour nommer plusieurs cellule par exemple avec un nom CELL_1 CELL_2 etc....
sur 2007 (avant je ne sais plus):
entrer les noms à coté des cellules par exemple de A1 à A10, entrer en B1 CELL_1 et tirer jusqu'à B10n pour incrémenter
sélectionner A1:B10
Ruban / Formules/ Créer à partir de la sélection et cocher: "colonne de droite"
Maintenant si vous avez un champ monumental, il faudra peut-être passer par d'autres solutions pour éviter d"'avoir une liste de nom du style du botin mondain.. par exemple en faisant référence à un champ via des solutions de recherche...
Mais là, il faudra en savoir plus sur vos données.
crdlmnt
la 1°) qui ne marche pas tout le temps et partout, mais la plus simple à essayer:
sélectionner la cellule ou le champ à nommer
placez le curseur dans la case d'adresse à gauche de la barre de formule
taper le nom voulu pour remplacer l'adresse de cellule
la 2° sur Excel avant 2007
sélectionner la cellule
barre d'outil / insertion / nom et entrer le nom dans la fenêtre qui s'affiche
Excel 2007 et + idem mais avec :
Ruban / onglet formules / Définir un nom
Pour nommer plusieurs cellule par exemple avec un nom CELL_1 CELL_2 etc....
sur 2007 (avant je ne sais plus):
entrer les noms à coté des cellules par exemple de A1 à A10, entrer en B1 CELL_1 et tirer jusqu'à B10n pour incrémenter
sélectionner A1:B10
Ruban / Formules/ Créer à partir de la sélection et cocher: "colonne de droite"
Maintenant si vous avez un champ monumental, il faudra peut-être passer par d'autres solutions pour éviter d"'avoir une liste de nom du style du botin mondain.. par exemple en faisant référence à un champ via des solutions de recherche...
Mais là, il faudra en savoir plus sur vos données.
crdlmnt
Ah si c'est bon ça fonctionne pour les noms de cellule! merci!
J'arrive à colorier ma celulle A1 de la feuille 2, ac une mise en forme conditionnelle s'il y a "ok" dans la cellule A1 (renommé "cell_1") de ma feuille 1.
Par contre, je ne vois pas comment je peux colorier la cellule A2 de la feuille 2 lorsque A2 (renommé "cell_2") de ma feuille 1 quand il y a "ok" dedans et ainsi de suite pour les lignes du dessous.
J'arrive à colorier ma celulle A1 de la feuille 2, ac une mise en forme conditionnelle s'il y a "ok" dans la cellule A1 (renommé "cell_1") de ma feuille 1.
Par contre, je ne vois pas comment je peux colorier la cellule A2 de la feuille 2 lorsque A2 (renommé "cell_2") de ma feuille 1 quand il y a "ok" dedans et ainsi de suite pour les lignes du dessous.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
effectivement, vous pourriez prendre les cellules une par une pour y placer une MFC correspondant au nom de la cellule recevant le OK, mais ça va être laborieux!!.
Appliquer ceci si vous avez bien nommé les cellules comme proposé soit:
CELL_1, CELL_2 etc et que le champ commence bien sur la ligne 1
sélectionnez le champ A à formater
la formule est:
=INDIRECT("CELL_"&LIGNE())="OK")
formatez
attention aux signes
si vous ne commencez pas sur la ligne 1 et que votre première cellule se nomme CELL_1, ajustez le coder LIGNE() de façon à ce que le résultat soit 1
c'est à dire le N° de ligne où se trouve la 1° cellule à formater moins la valeur qui ramène 1
par exemple si vous voulez la cellule nommée 1 sur la ligne 3:
=INDIRECT("CELL_"&LIGNE()-2)="OK"
Par ailleurs une fois les cellules nommées vous pouvez bien sur effacer la colonne qui servait à placer les noms.
bonne chance
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
effectivement, vous pourriez prendre les cellules une par une pour y placer une MFC correspondant au nom de la cellule recevant le OK, mais ça va être laborieux!!.
Appliquer ceci si vous avez bien nommé les cellules comme proposé soit:
CELL_1, CELL_2 etc et que le champ commence bien sur la ligne 1
sélectionnez le champ A à formater
la formule est:
=INDIRECT("CELL_"&LIGNE())="OK")
formatez
attention aux signes
si vous ne commencez pas sur la ligne 1 et que votre première cellule se nomme CELL_1, ajustez le coder LIGNE() de façon à ce que le résultat soit 1
c'est à dire le N° de ligne où se trouve la 1° cellule à formater moins la valeur qui ramène 1
par exemple si vous voulez la cellule nommée 1 sur la ligne 3:
=INDIRECT("CELL_"&LIGNE()-2)="OK"
Par ailleurs une fois les cellules nommées vous pouvez bien sur effacer la colonne qui servait à placer les noms.
bonne chance
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
Merci pour ta réponse!
La formule suivante ne fonctionne pas: =INDIRECT("CELL_"&LIGNE())="OK")
Je risque pas de savoir pourquoi étant donné que je ne la comprends pas mais bon :) J'ai essayé de changer quelques détails comme "cell_1" au lieu de "CELL_" mais rien à faire...
Celle ci par contre est acceptée par la mise en forme conditionnelle mais ne fonctionne pas ensuite: =INDIRECT("CELL_"&LIGNE()-2)="OK"
La formule suivante ne fonctionne pas: =INDIRECT("CELL_"&LIGNE())="OK")
Je risque pas de savoir pourquoi étant donné que je ne la comprends pas mais bon :) J'ai essayé de changer quelques détails comme "cell_1" au lieu de "CELL_" mais rien à faire...
Celle ci par contre est acceptée par la mise en forme conditionnelle mais ne fonctionne pas ensuite: =INDIRECT("CELL_"&LIGNE()-2)="OK"
LIGNE()-2 signifie comme expliqué dans mon message, que vous faites correspondre la cellule sur la, ligne 3 avec celle nommée CELL_1.
En fait le code INDIRECT() transforme le texte entre parenthèse en adresse de cellule ou en nom de cellule nommée
soit ici entre guillemets "CELL_" texte entre guillemets, suivi de & pour lier avec la suite et suivi de LIGNE() qui compose le N° a prendre en compte.
vous pouvez voir, pour comprendre, ce que donne le code LIGNE() dans une cellule où vous entrez simplement:
=LIGNE()
pour la suite:
avez vous bien sélectionné tout le champ à traiter
regarder dans ce modèle ce que ça devrait donner:
https://www.cjoint.com/?BCvpIILOfsW
crdlmnt
En fait le code INDIRECT() transforme le texte entre parenthèse en adresse de cellule ou en nom de cellule nommée
soit ici entre guillemets "CELL_" texte entre guillemets, suivi de & pour lier avec la suite et suivi de LIGNE() qui compose le N° a prendre en compte.
vous pouvez voir, pour comprendre, ce que donne le code LIGNE() dans une cellule où vous entrez simplement:
=LIGNE()
pour la suite:
avez vous bien sélectionné tout le champ à traiter
regarder dans ce modèle ce que ça devrait donner:
https://www.cjoint.com/?BCvpIILOfsW
crdlmnt
ok merci pour l'explication et pour ce modèle!
Le "petit" problème c'est que dans ma feuille 2 (là où je veux colorier les cellules), certaines cellules sont fusionnées (exemple: A1-A2-A3 fusionnées; A4 normal; A5-A6 fusionnées etc.)
Et dans ma feuille 1 (là où je dois renommer les cellules), certaines sont aussi fusionnées mais pas de la même façon (exemple: A1-A2 fusionnées; A4-A5-A6 fusionnées; A7 normal etc.) qui correspondent aux "cell_4-cell_5-cell_6" etc bien sur.
Du coup l'association se fait pas correctement.
J'espère que je me fais bien comprendre? Y-a-t-il une solution?
Merci en tout cas!
Le "petit" problème c'est que dans ma feuille 2 (là où je veux colorier les cellules), certaines cellules sont fusionnées (exemple: A1-A2-A3 fusionnées; A4 normal; A5-A6 fusionnées etc.)
Et dans ma feuille 1 (là où je dois renommer les cellules), certaines sont aussi fusionnées mais pas de la même façon (exemple: A1-A2 fusionnées; A4-A5-A6 fusionnées; A7 normal etc.) qui correspondent aux "cell_4-cell_5-cell_6" etc bien sur.
Du coup l'association se fait pas correctement.
J'espère que je me fais bien comprendre? Y-a-t-il une solution?
Merci en tout cas!
D'une part les cellules fusionnées sont à mettre par principe au panier tellement elle posent de problèmes pour les suites, dés qu'on parle de formules.
D'autre part, si vous pouvez mettre votre ficher à disposition, on pourra peut être trouver une solution, parce que là,vu ce que vous annoncez, en proposer une sans le modèle, c'est perdre son temps!!
a vous lire
crdlmnt
D'autre part, si vous pouvez mettre votre ficher à disposition, on pourra peut être trouver une solution, parce que là,vu ce que vous annoncez, en proposer une sans le modèle, c'est perdre son temps!!
a vous lire
crdlmnt
Bonjour
déposer le fichier ici
https://www.cjoint.com/
en suivant les instructions / copier le lien et revenir le placer ici dans un prochain message
A+
crdlmnt
déposer le fichier ici
https://www.cjoint.com/
en suivant les instructions / copier le lien et revenir le placer ici dans un prochain message
A+
crdlmnt
Si le seul inconvénient est que les cellules ne sont pas fusionnées (c'est pas vraiment un inconvénient!) et qu'il y a ces commentaire dans la colonne Z, il n'y a pas de souci! :)
ça a l'air de bien fonctionner!
Merci bcp pour tout!!
ça a l'air de bien fonctionner!
Merci bcp pour tout!!
Je ne sais pas mais je m'en doute... je pense qu'il y a des écarts de caractères entre les libellés d'une feuille à l'autre. (fautes de frappe, orthographe, blanc etc)
le remède:
copier les nom de clients sur une des feuilles et coller dans l'autre à la place du nom pour unifier les textes.
crdlmnt
le remède:
copier les nom de clients sur une des feuilles et coller dans l'autre à la place du nom pour unifier les textes.
crdlmnt
Il y a pas que ça. Dans ma deuxieme feuille j'avais mis la formule suivante dans la mise en forme conditionnelle: =ESTNUM(CHERCHE("suspendu";$P9))
De cette manière, je peux écrire des caractère avant et après le mot "suspendu" (même en caractère sans espace comme "suspendu/autre chose" ) et les cases se mettent quand même en couleur.
Dans la 3eme feuille par contre maintenant, ce n'est pas le cas: il faut absolument qu'il y ait écrit "suspendu" tout seul, sans autre caractère ni espace pour que ça fonctionne...
N'y aurait t'il pas un petit détail à changer pour pallier à ce problème?
Merci ;)
De cette manière, je peux écrire des caractère avant et après le mot "suspendu" (même en caractère sans espace comme "suspendu/autre chose" ) et les cases se mettent quand même en couleur.
Dans la 3eme feuille par contre maintenant, ce n'est pas le cas: il faut absolument qu'il y ait écrit "suspendu" tout seul, sans autre caractère ni espace pour que ça fonctionne...
N'y aurait t'il pas un petit détail à changer pour pallier à ce problème?
Merci ;)
Bonjour
essayez:
=NB.SI($P9;"*suspendu*")
avec le suspendu entre les astérisques
qui prendra toutes les cellules contenant le mot "suspendu"
pour info:
"*texte*" > est vrai si le texte est contenu
"texte*" > est vrai si le texte est au début
"texte*" > est vrai si le texte est à la fin
Vous pouvez aussi utiliser un texte placé dans une cellule comme référence; le libellé est alors:
"*"&adresse cellule&"*"
ce type de code ne fonctionne pas derrière un signe =, mais uniquement derrière le ;
crdlmnt
essayez:
=NB.SI($P9;"*suspendu*")
avec le suspendu entre les astérisques
qui prendra toutes les cellules contenant le mot "suspendu"
pour info:
"*texte*" > est vrai si le texte est contenu
"texte*" > est vrai si le texte est au début
"texte*" > est vrai si le texte est à la fin
Vous pouvez aussi utiliser un texte placé dans une cellule comme référence; le libellé est alors:
"*"&adresse cellule&"*"
ce type de code ne fonctionne pas derrière un signe =, mais uniquement derrière le ;
crdlmnt
En effet merci mais j'avais compris :)
Par contre j'ai pas tout compris dans ce que tu viens de dire Vaucluse.
En fait, dans ma 2eme page tout va bien, ma formule =ESTNUM(CHERCHE("suspendu";$P9)) fonctionne très bien, donc pas besoin de la remplacer ou de la modifier; elle accepte les caracteres avant et après "suspendu".
Mais c'est dans ma 3eme feuille qu'il y a un pb (et le seul d'ailleurs): la formule suivante n'accepte pas de caractère avant et après "suspendu" dans la cellule correspondant de la feuille "Fournisseurs".
C'est donc pas dans cette formule qu'il faudrait changer un petit truc?
=SI(ESTVIDE(B54);Z53;SI(ESTERREUR(RECHERCHEV(B54;Fournisseurs!B:P;15;0));"";SI(RECHERCHEV(B54;Fournisseurs!B:P;15;0)="Suspendu";1;"")))
Par contre j'ai pas tout compris dans ce que tu viens de dire Vaucluse.
En fait, dans ma 2eme page tout va bien, ma formule =ESTNUM(CHERCHE("suspendu";$P9)) fonctionne très bien, donc pas besoin de la remplacer ou de la modifier; elle accepte les caracteres avant et après "suspendu".
Mais c'est dans ma 3eme feuille qu'il y a un pb (et le seul d'ailleurs): la formule suivante n'accepte pas de caractère avant et après "suspendu" dans la cellule correspondant de la feuille "Fournisseurs".
C'est donc pas dans cette formule qu'il faudrait changer un petit truc?
=SI(ESTVIDE(B54);Z53;SI(ESTERREUR(RECHERCHEV(B54;Fournisseurs!B:P;15;0));"";SI(RECHERCHEV(B54;Fournisseurs!B:P;15;0)="Suspendu";1;"")))