Appliquer mise en forme conditionnelle à une plage de cellules

Signaler
Messages postés
6
Date d'inscription
jeudi 15 juillet 2021
Statut
Membre
Dernière intervention
15 juillet 2021
-
Messages postés
17408
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 juillet 2021
-
Bonjour à tous
Comme évoqué dans le titre, je tente désespérément d'appliquer une mise en forme conditionnelle à une plage de données.
Je m'explique :
J'ai une feuille 1 avec des données dans un tableau.
J'ai une feuille 2 avec des données dans un tableau.
objectif : mettre en surbrillance (en vert) les cellules de la feuille 1 s'ils existent dans la feuille 2
J'ai réussi à créer une mise en forme conditionnelle sur une cellule. c'est à dire que si j'ai "toto" dans A2 de la feuille 2, j'ai la cellule D6 de la feuille 1 (qui contient "toto") qui se teint en vert.

Il ne me reste plus qu'un pas à faire : appliquer la mise en forme conditionnelle pour toutes les cellules de la feuille 2.

J'y arrive en créant une nouvelle règle manuellement, mais je pense qu'on peut le faire automatiquement.

Cordialement

10 réponses

Messages postés
17408
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 juillet 2021
4 668
Bonjour,

j'ai revu ma copie, commence par sélectionner ta plage à traiter, exemple A2:F30
Format/Conditionnel/La formule est
ET(NB.SI($Feuille1.A2;"toto")=1;NB.SI($Feuille2.$A$1:$A$30;"toto")>=1)
Nouveau Style/Arrière plan/Couleur etc ...
Messages postés
6
Date d'inscription
jeudi 15 juillet 2021
Statut
Membre
Dernière intervention
15 juillet 2021

Merci de votre retour.
Je pense que vous n'avez pas compris ce que je cherche à faire.
J'ai réussi à régler 95% de mon problème.
Les 5% restants : répliquer la règle à une plage de données.

A priori, je n'ai pas besoin de formule comme vous l'avez évoqué ci-dessus.
Messages postés
17408
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 juillet 2021
4 668
Re,

et bien si ta formule s'applique à une cellule d'après ta demande Feuille1 cellule D6

il suffit d'activer ta ta cellule D6 et Format/Conditionnel/Gérer/sélectionne la formule concernée/Editer/en bas de l'assistant dans plage défini la plage concernée exemple D6:D20

Mais attention à la rédaction de la formule conditionnelle si tu as défini des références absolues ou relatives pour que la condition s'applique a chaque cellule
Messages postés
6
Date d'inscription
jeudi 15 juillet 2021
Statut
Membre
Dernière intervention
15 juillet 2021

Oui, ça c'est bon ça fonctionne. C'est pas là ou ça pêche.
Attention, il y a confusion entre la plage ou doit s'appliquer la mise en forme conditionnelle (là où ça s'éclaire en vert) et la plage qui doit être testée. (là où la règle de la mise en forme conditionnelle est paramétrée).

Exemple :
feuille 1 : j'ai A1 = toto, B1 = titi, A2 = tata , et B2 = tutu
feuille 2 : j'ai A1 = titi, B1 = bonjour, A2 = tutu, B2 = tyty, C1 = jean, et C2 = toto

Ce que j'ai réussi à faire : mettre une règle sur A1 de la feuille 2 qui dit de mettre en vert toutes les cellules de la feuille 1 qui sont égale à A1 de la feuille 2.
Donc j'ai bien B1 de la feuille 1 qui s'affiche en vert.

Ce que je veux faire : appliquer la règle que j'ai faite pour A1 de la feuille 2 pour toutes les cellules de la feuille 2.
Si bien configurer, je devrait avoir les cellules A1, B1 et B2 qui devraient s'afficher en vert.
Messages postés
17408
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 juillet 2021
4 668
Re,

je pense que tu as dû créer un tas de condition sur ta feuille 2 que je t'invite à supprimer.
Ensuite sélectionne la plage à traiter feuille2, exemple A1:F20
Forme conditionnelle et applique cette formule qui fonctionne très bien en fonction de tes explications

NB.SI($Feuille1.$A$1:$B$2;A1)=1

PS: Feuille1.$A$1:$B$2 correspond à ta plage de critère
et ;A1) à la première cellule de la plage conditionnée
A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Messages postés
6
Date d'inscription
jeudi 15 juillet 2021
Statut
Membre
Dernière intervention
15 juillet 2021

je pense que tu as dû créer un tas de condition sur ta feuille 2 que je t'invite à supprimer.

si je le faisait manuellement pour chaque cellule , oui. Mais ça n'est pas le but.

désolé ça ne fonctionne pas chez moi
Messages postés
17408
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 juillet 2021
4 668
Re,

télécharge mon exemple à partir du lien ci-dessous, et feuille 2 entre A1 et F20 si tu saisis un des quatre mots contenu en A1:B2 de la feuille1 il se colorise

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

A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Messages postés
6
Date d'inscription
jeudi 15 juillet 2021
Statut
Membre
Dernière intervention
15 juillet 2021

ok merci, ça fonctionne.
la différence c'était qu'au lieu de mettre "la formule est", j'avais "la valeur de la cellule est ... égale à"
Messages postés
6
Date d'inscription
jeudi 15 juillet 2021
Statut
Membre
Dernière intervention
15 juillet 2021

Je reste tout de même sur ma question, mais cette fois-ci par curiosité.
Sans parler de mon application précise, n'est-il pas possible de dire à libreoffice "je veux appliquer telle règle à une plage de cellule" ?
Messages postés
17408
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 juillet 2021
4 668
Re,

Non, soit tu sélectionnes la plage avant d'appliquer la mise en forme
soit une fois la mise en forme appliqué sur une ou plusieurs cellules tu modifies la plage concernée.
Pour cela tu cliques sur une des cellules déjà conditionnée/Format/Conditionnel/Gérer/sélectionne la ligne concernée s'il existe plusieurs conditionnelles/Editer/en bas de l'assistant dans Plage: qui dans mon exemple est A1:F20 il suffit de modifier les bornes exemple A1:G50

la seule plage que tu peux modifier dans la formule est la plage critère ($Feuille1.$A$1:$B$2

A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...