Excel: attribuer format à cellule autre feuil

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!!

A voir également:

11 réponses

chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

essayez avec =ESTNUM(CHERCHE("ok";feuil1!$A2))

Cordialement.
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
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?
0
brink33
 
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...
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
lisez le message juste au dessus du votre là!
0
brink33
 
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 :) )
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
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
0
brink33
 
ça tombe bien je suis sur excel 2007 !!
Je vais essayer ça alors!
Sinon, y a-t-il moyen de faire un genre de formule de ce genre: =Feuil1!A1 (sans passer par la mise en forme conditionnelle) mais qui conserve justement la mise en forme (couleur...) de la cellule A1 de la feuille 1 ?
0
brink33
 
Et pour la solution sur excel 2007, ça ne fonctionne pas quand je tire les cellules pour incrémenter les noms..
0
brink33
 
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
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?
0
brink33
 
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"
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
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
0
brink33
 
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!
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
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
0
brink33
 
ok
comment je peux te le faire passer?
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
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
0
brink33
 
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!!
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
Pas de quoi,

pour info,j'ai retiré les messages qui donnent les liens vers les fichiers. Il n'est pas bien prudent de laisser diffuser une liste de Mails de vos clients. Ici il n'y a que des gens sérieux, mais enfin..!

bonne route
0
brink33
 
ouais c'est vrai merci
Par contre, ça n'a pas fonctionné pour tous les fournisseurs, tu ne saurais pas pourquoi par hasard? :s
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
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
0
brink33
 
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 ;)
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
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

0
chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 312
 
Bonjour,

pour ton exemple 'vrai si le test est à la fin', l'astérisque se met AVANT le texte.

Cordialement
0
brink33
 
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;"")))
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
pour afficher 1 si la condition est vrai, essayez

=SI(NB.SI(Fournisseurs!$B:$B;$B6)=0;0;NB.SI(INDIRECT("Fournisseurs!"&ADRESSE(EQUIV(B6;Fournisseurs!$B:$B;0);16));"*suspendu*"))
à tirer sur la hauteur

crtdlmnt
0
brink33
 
sur quelle ligne je dois mettre celle-ci pour que ça fonctionne bien, (pour que ça fasse référence à la bonne cellule de ma feuille "Fournissueurs")?
0
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 447
 
sur la première ligne de la colonne qui renvoie le c ode pour la MFC soit feuille Correspondant en Z7 et vous tirer sur la hauteur utile.
(champ en jaune sur le fichier que je vous ai soumis)
bonne chance
0
brink33
 
Ah oui parfait! Maintenant il faudra donc juste faire attention que les noms des fournisseurs de la feuille 2 à la feuille 3 soient exactement les mêmes pour que ça fonctionne.
Merci beaucoup pour toute ton aide! :)
0