Utilisation des mises en forme conditionnelles

Bonjour,

J'aimerai avoir de l'aide concernant l'utilisation des MFD dans un de mes fichiers.

En fait la dernière colonne de mon tableau contient le statut de mes tâches (completed, on going, stand by...).

Je voudrais que lorsque je met le statut completed dans cette dernière colonne, le reste de la ligne de mon tableau se grise entièrement.

J'arrive en potassant à le mettre en place sur une seule ligne mais je voudrais l'étendre sur tout mon tableau du genre:

lorsque tel case de la colonne H est en "completed" la ligne se grise.

Merci de votre aide.

Guillaume

Bonjour et bienvenue

Tu sélectionnes ton tableau (exemple de A2 à L30) et dans la MFC tu choisis "La Formule est ..."

=$H2="completed"

Tu choisis le format.

Amicalement

Nad

Oui mais dans ce cas la, c'est seulement quand la case H2 sera "Completed" que le tableau sera grisée.

Moi ce que je voudrais faire c'est une MFC pour que :

  • quand la case H1 est completed la ligne 1 (de A1 à G1) devient grisé.
  • quand la case H2 est completed la ligne 2 (de A2 à G2) devient grisé.
...

Je sais le faire logne par ligne mais je voulais savoir s'il était possible de le fair een une seule formule.

Merci d'avance.

Guillaume

Bonjour

As-tu bien mis le signe $ uniquement devant le H $H2 (ou $H1 si tu as sélectionné de A1 à L30) ?

Amicalement

Nad

Ok ça marche !!

Merci beaucoup Nad !!

-- 21 Jan 2011, 11:06 --

De la même manière, sais tu comment on peut modifier la valeur d'une case selon la valeur d'uen autre case.

Exemple : si la case H2 = "Completed", la case D2 (correspondant à la criticité) = None.

Merci d'avance.

Re

Là, il faut intervenir au niveau de la cellule ; en D2 :

=si(H2="completed";"None";"")

Amicalement

Nad

En ait je souhaiterais intégrer cette formule à toute les lignes comme la formule précédente qui grisée la ligne ou le mot Completed était inscrit.

La je souhaiterais que lorsque le mot completed est dans tel case par exemple H8, le mot none soit dans la case D8.

Par rapport à ta formule j'ai essayé : si($H2="Completed";"None";"") mais cela ne passe pas. Je ne vois pas à quoi correspondent les dernier "" dans la formule.

Bonjour

Nad a du partir déjeuner...?

"" signifie dans cette formule "n'affiche rien"

Pour le reste, un exemple

Cordialement

13classeur1.xls (15.00 Ko)

Le problème que je renconre est que ces cases sont configurés avec une liste déroulante : High, Medium, Low, None.

Lorsque j'essaye de mettre la formule, je renontre un blocage c'est pour cela que je pensais le faire avec une MFC.

Vous pensez que c'est possible tout de même?

Merci pour votre aide.

Guillaume

Bonjour

Tu ne peux à la fois dire

Je veux que si H8="Completed", D8 affiche "None"

et

Mettre en D8 une liste déroulante contenant None, High, Medium...

Je suppose que si à Completed en colonne H correspond None en colonne D

on going en colonne H correspond à un autre terme en colonne D

stand by en colonne H correspond aussi à un autre terme en colonne D

Si c'est le cas, une formule de ce type en colonne D pourraît résoudre ton problème

=SI(H2<>"";CHOISIR(EQUIV(H2;{"Completed";"On going";"Stand by";"Autre"};0);"None";"High";"Medium";"Low");"")

Exemple dans le fichier (Tu adapteras les textes correspondants)

Si ce n'est pas cela, envoie un exemple de ton fichier.

Cordialement

13classeur1.xls (17.00 Ko)

Non ce n'est pas cela. En fait pour moi la criticité et le statut n'ont pas de lien. Par exemple, une action peut être en stand by qu'elle est une criticité low medium ou high cela n'a pas de lien.

En fait mon but est au final de pouvoir mettre pour chaque action une criticité et un statut. Dans le cas ou je met le statut en completed, la ligne se grise et la criticité devient none.

Ayant mis une liste déroulante pour la criticité et la statut, ce n'est peut être pas possible.

Je joins mon fichier ce sera peut être plus clair.

12fichier-test.rar (19.01 Ko)

Re

Place ce code dans la feuille "Todolist":

Private Sub Worksheet_Change(ByVal Target As Range)
Lg = Range("H65536").End(xlUp).Row
If Not Intersect(Target, Range("H7:H" & Lg)) Is Nothing Then
If Target = "Completed" Then
Range("D" & Target.Row) = "None"
End If
If Target <> "Completed" Then
Range("D" & Target.Row) = ""
End If
End If
End Sub

Tu peux enlever cette partie si une fois qu'il y a "Completed" en H on n'y revient pas :

If Target <> "Completed" Then

Range("D" & Target.Row) = ""

End If

Amicalement

Nad

Excuse moi mais je ne sais pas comment on fait pour mettre du code directement sur un fichier. On doit créer une macro?

Re

Tu copies le code

Tu fais un click droit sur le nom de l'onglet ==> Visualiser le code

Tu colles le code dans la partie blanche

Nad

Ok c'est bon tout marche comme je veux !!

Merci bcp pour votre disponibilité et pour votre site !!

Guillaume

Bonjour,

Pour griser la ligne sur laquelle le mot completed était inscrit, j'utilisais auparavant cette formule :

Private Sub Worksheet_Change(ByVal Target As Range)

Lg = Range("H65536").End(xlUp).Row

If Not Intersect(Target, Range("H7:H" & Lg)) Is Nothing Then

If Target = "Completed" Then

Range("D" & Target.Row) = "None"

End If

If Target <> "Completed" Then

Range("D" & Target.Row) = ""

End If

End If

End Sub

Il semble qu'il y ait un pb avec ce code car il ne grise plus la ligne. Peut être ais je fais une erreur ? Pouvez vous me dire quelle partie du code est censée griser la ligne ?

Merci d'avance.

Guillaume

Rechercher des sujets similaires à "utilisation mises forme conditionnelles"