Mise en forme conditionnelle

guy244 -  
 guy244 -
Bonjour,
j'ai un fichier avec une rechercheV sur deux plages de cellules : si la donnée recherchée n'est pas dans la première plage, la recherche se fait dans la deuxième.
Si le résultat provient de la 2ème plage, j'aimerais que le résultat soit identifiable visuellement dans le tableau avec un format différent (ex : couleur rouge), comment faire ?
Merci d'avance



A voir également:

18 réponses

Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Bonjour,

C'est possible mais pour ne pas travailler dans l'approximatif ce que je me refuse de faire il serait souhaitable d'avoir un exemple de fichier pour voir sa structure afin de donner une formule adaptée
pour joindre un fichier sert toi de ce lien
https://www.cjoint.com/
0
guy244
 
Voici le lien vers mon fichier :

http://www.cjoint.com/c/FAcj4WKvweq

Ce n'est pas mon fichier complet mais cela devrait suffire.
Merci pour ton aide
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

si je comprends bien onglet Parquet Strat cellule B7 tu saisis exemple la référence 8000000 et sur l'onglet Stock Sr 30 cellule B7 tu veux que la RECHERCHEV affiche PARQUET qui se trouve onglet Liste 1 colonne F et si la référence 8000000 n'existe pas sur cette feuille faire une RECHERCHEV onglet liste 2 colonne J
c'est bien cela !

quelle version as tu d'Excel
0
guy244
 
oui c'est cela, excel 2003
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

avec Excel 2003 la formule est assez longue alors je te conseille de nommer tes plages, exemple la plage Liste 1'!$E$4:$O$346 pour ma formule je l'ai nommée List1 et la plage liste 2'!$I$6:$Q$716 je l'ai nommée List2
=SI(ESTERREUR(RECHERCHEV('Parquet Strat'!B7;List1;2;0));RECHERCHEV('Parquet Strat'!B7;List2;2;0);RECHERCHEV('Parquet Strat'!B7;List1;2;0))


tu peux également nommer la cellule B7 onglet Parquet Strat exemple Crit (pour critère), dans ce cas la formule sera encore plus courte

=SI(ESTERREUR(RECHERCHEV(Crit;List1;2;0));RECHERCHEV(Crit;List2;2;0);RECHERCHEV(Crit;List1;2;0))


par contre si la valeur recherchée n'existe pas dans les deux feuilles la formule affichera #N/A ou il faudra ajouter une gestion d'erreur supplémentaire
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
guy244
 
Ok merci et pour le format en fonction de la plage utilisée pour trouver le résultat ?
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

si tes attentes sont satisfaites confirme le moi que je passe le statut de la discussion en résolu
0
guy244
 
Ce que je souhaite c'est que les résultats renvoyer en B7 ou H11 soit de couleur rouge si ils viennent de la liste 2.
Suis-je clair ?
0

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

Posez votre question
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

pas de problème, un fois que tu as mis en place mes formules, il va falloir ajouter une mise en forme conditionnelle

sélectionne la cellule B7, Mise en forme conditionnelle/la formule est
=B7=RECHERCHEV(Crit;List2;2;0)

Format et sélectionne la couleur de remplissage ou de la police choisie exemple rouge
idem pour H11
0
guy244
 
Salut Mike-31,
Voici le message d'erreur quand j'essaie la mise en forme conditionnelle :

" Vous ne devez pas faire référence à d'autres feuilles ou classeurs pour les critères Mise en forme conditionnelle"
0
guy244
 
C'est bon j'ai résolu mon problème, je n'avais pas nommer ma cellule de recherche (B7)
Merci pour tout !!
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

parce que tu n'as pas nommé tes plages comme je te l'ai conseillé
cellule B7 onglet Parquet Strat nommée Crit (pour critère)
la plage Liste 1'!$E$4:$O$346 nommée List1
la plage liste 2'!$I$6:$Q$716 nommée List2
0
guy244
 
C'est fait maintenant.
Par contre j'ai un autre problème, comme tu peux l'imaginer je n'ai pas qu'une cellule de recherche (dans notre exemple B7) mais environ 400..
La mise en forme conditionnelle m'impose de nommée chaque cellule.
Est-il possible de nommer rapidement une liste de cellule ?
Merci encore
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

le problème est différent, et si tu avais lu et répondu correctement à mon post 3 ou j'écrivais
"si la référence 8000000 n'existe pas sur cette feuille faire une RECHERCHEV onglet liste 2 colonne J"

j'aurais traité le problème différemment, alors crée un fichier qui ressemble au réel avec quelques références et pas seulement une n B7 et H11
et tu me le retournes que je vois sa structure
0
Guy244
 
J'ai correctement répondu à ton poste effectivement, si la référence 800000 n'existe pas sur la liste 1, faire la recherche sur la liste 2
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,
nous nous comprenons pas, sur ton exemple tu n'as que deux cellules critères B7 et H11 et sur ton post 13 tu parles de 400
alors il faudrait savoir si tu n'as que ces deux cellule ou plus et dans quelle colonnes elles se trouvent ou si c'est 400 références dans tes onglets liste 1 et liste 2
c'est pour cela que je te demandais un fichier plus complet pour voir sa structure et m'aider à comprendre
0
Guy244 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Mike-31,
si mon problème t’intéresse toujours, voici le lien vers un fichier tout a fait ressemblant à mon fichier définitif :
http://www.cjoint.com/c/FAerIztdt1q
Je souhaite actualiser ce fichier 1 fois par semaine en important les listes 1 et 2
Merci d'avance pour ton temps.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

allège encore tes formules, exemple en A7 et répercute sur ton tableau
=SI(ESTERREUR(RECHERCHEV(Ref!A7;Gamme;2;0));RECHERCHEV(Ref!A7;AVS;2;0);RECHERCHEV(Ref!A7;Gamme;2;0))

ensuite pour coloriser les valeurs de la Liste2, sélectionne tout le tableau exemple A1/Q53 et Mise en forme conditionnelle la formule est
=A1=RECHERCHEV(Ref!A1;AVS;2;0)

format choisir le type de colorisation
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
guy244
 
Salut Mike-31,
le format sous condition avec "La formule est" ne peut pas faire référence à une autre feuille, dans notre exemple la feuille Ref. La solution est de donner un nom à chaque cellule recherchée sur cette feuille, ce que j'ai fait en h11, mais je ne me vois pas donner une part une un nom à chaque cellule, d'autant plus que dans ce cas je ne me donne pas la possibilité de faire évoluer mon tableau;
D'où mon poste du 2 janvier, est-il possible de rapidement donner un nom à chaque cellule d'une plage de cellule.
Merci pour tout
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

feuille Qté cellule A1 colle cette formule
=SI(ESTERREUR(RECHERCHEV(INDIRECT("Ref!"&ADRESSE(LIGNE();COLONNE();4));Gamme;2;0));RECHERCHEV(INDIRECT("Ref!"&ADRESSE(LIGNE();COLONNE();4));AVS;2;0);RECHERCHEV(INDIRECT("Ref!"&ADRESSE(LIGNE();COLONNE();4));Gamme;2;0))

cellule A2 cette formule
=SI(ESTERREUR(RECHERCHEV(INDIRECT("Ref!"&ADRESSE(LIGNE();COLONNE();4));Gamme;10;0));RECHERCHEV(INDIRECT("Ref!"&ADRESSE(LIGNE();COLONNE();4));AVS;2;0);RECHERCHEV(INDIRECT("Ref!"&ADRESSE(LIGNE();COLONNE();4));Gamme;10;0))

sélectionne la cellule A1 et A2 et incrémente la formule vers le bas jusqu'à la cellule A53
sélectionne la plage A1:A53 et incrémente la plage vers la droite jusqu'à la colonne Q

les cellules en erreur parce feuille Réf les cellules sont vides afficheront #N/A
il suffit de les sélectionner et les effacer ou on crée une mise en forme conditionnelle pour masquer ce message d'erreur
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
guy244
 
Bonjour Mike-31,
excuse moi pour mes délais de réponses, semaines de taf un peu chargées en ce moment !
Peux-tu m'expliquer les dernières formules que tu me proposes stp ?
Merci encore.
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

en fait ce qui a changé dans les formules c'est cette partie
RECHERCHEV(Ref!A7;Gamme;2;0))
et remplacé par
INDIRECT("Ref!"&ADRESSE(LIGNE();COLONNE();4));Gamme;2;0)
à la place de figer Ref!A7 je crée une adresse de cellule "Ref!" qui me renvoi sur la feuille Ref et ligne() ne donne le numéro de la ligne ou se trouve la formule, exemple si j'écris =ligne() sur la ligne 7 la formule renvoie 7 idem pour colonne =COLONNE() dans la colonne F par exemple la formule me renvoie 6
la combinaison =LIGNE();COLONNE() dans la cellule F7 me donne 7;6 mais cette combinaison ne peut fonctionner que dans le cadre d'une association comme ADRESSE(LIGNE();COLONNE()) ce qui me renvoi une adresse absolue $F$7 ensuite le ;4 est le type de renvoi en relatif pour pouvoir incrémenter la formule et donc affiche F7 ce qui passera en F8 en incrémentant d'une ligne vers le bas ou G7 pour une incrémentation vers la droite
0
guy244
 
Ok compris !!

Quand je fais la mise en forme conditionnelle pour voir sur le tableau lorsque le résultat viens de la liste 2 cela fonctionne pour le fichier d'exemple que nous utilisons, par contre pour mon fichier définitif, il me mais parfois en forme des résultats normalement trouvé en liste 1.
Voici la condition que j'utilise : (Refsr30=Ref)

=A7=RECHERCHEV(INDIRECT("refsr30!"&ADRESSE(LIGNE();COLONNE();4));AVS;2;0)
Qu'en penses-tu ?
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour à tous,

un p'tit tour et je m'en vais...

guy244 : n'y aurait-il pas un $ de trop dans ta définition de crit ?
je m'explique : si le nom que tu as créé ressemble à ='Parquet Strat'!$B$7, supprime le $ devant le 7.

remarque : ton fichier du 4 janvier n'est plus accessible.

cordialement
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re Guy, salut Jvdo,

avec la formule LIGNE();COLONNE() il faut faire correspondre le résultat avec l'adresse réelle de la cellule cible exemple tu veux rechercher la valeur dans la cellule F7 ta formule est sur un autre onglet en G4
cette formule en l'état
=INDIRECT("refsr30!"&ADRESSE(LIGNE();COLONNE();4))
renvoie la valeur contenue en G4 qui est l'adresse G4 formatée par cette syntaxe ADRESSE(LIGNE();COLONNE();4) , il faudra donc compléter la formule pour ajouter des lignes et ôter des colonnes afin que cette syntaxe renvoie F7
=INDIRECT("refsr30!"&ADRESSE(LIGNE()+3;COLONNE()-1;4))
A+
Mike-31

Une période d'échec est un moment rêvé pour semer les graines du savoir.
0
guy244
 
Re Mike-31,
c'est trop complexe pour moi, je suis un peu perdu.
Je souhaite simplement que les résultats récupérés de la liste 2 apparaissent en rouge(par exemple) dans mon tableau Qté.
Cordialement
0
Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 135
 
Re,

tu peux remettre ton fichier en ligne s'il te plait, le lien n'est plus valide
0
Guy244 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Mike-31,

Voici le fichier : https://www.cjoint.com/c/FAloOaEjhmq

Cordialement
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour,

es-tu sûr de tes formules?
Qté!M34 fait référence à Ref!M35 alors que Qté!L34 fait référence à Ref!L34 c'est à dire à la même cellule de l'onglet Ref (comme quasiment toutes tes formules)

J'ai revisité complètement tes formules, le nom Ref et les MFC.

Tu n'as maintenant plus qu'une formule, la même dans toutes tes cellules.
Elle tient compte de la parité des lignes où elle se trouve.

Ref est en relatif.

Pour les MFC, vu que tu es sur multiplan, j'ai différencié les lignes paires et impaires.
De ce fait, j'ai inséré une ligne vide (onglets Ref et Qté) au niveau de ta séparation (trait noir) pour garder la même parité.

Bref, je t'ai fait tout un tas de chose que tu n'avais pas demandé.

https://www.cjoint.com/c/FAlwJjhyKCk

Cordialement
0
guy244
 
Bonjour et merci,
par contre je n'ai pas compris grand chose et j'ai besoin de le refaire sur mon fichier définitif, peux-tu m'expliquer un peu ? :
MFC ?
Ref en relatif ?
Multiplan ?
Pourquoi une seule formule ? et comment ?
Merci d'avance.
0
JvDo Messages postés 1978 Date d'inscription   Statut Membre Dernière intervention   859
 
Bonjour,

MFC pour Mise en Forme Conditionnelle

Ref en relatif. ref est un nom défini sans les $ qui figent l'adresse en absolu. Ainsi, ref adresse la cellule de l'onglet Ref correspondant à la cellule active de l'onglet Qté.
Si tu es en Qté!C3, le nom ref pointe sur Ref!C3.
Si tu vas en Qté!R24, le nom ref pointe sur Ref!R24.
ça répond à ton souci de ne pas avoir à définir un nom pour chaque cellule (cf ton post 19).

Multiplan : C'est un clin d’œil à ta version (presque) antédiluvienne d'excel.

Pourquoi une seule formule ? pourquoi pas...
tu as en fait 2 formules selon que tes lignes sont paires ou impaires.
Donc j'ai mis une seule formule qui teste la parité de la ligne où elle se trouve pour donner la bonne formule.
Si tu trouves que ça complique les choses, tu peux revenir à une formule pour les lignes paires et une pour les impaires.

Cordialement
0
guy244
 
Un grand merci à tous les 2 pour votre aide.
0