Mise en forme conditionnelle

  • Initiateur de la discussion Initiateur de la discussion pantanella
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

pantanella

Guest
Pour mettre en forme conditionnelle il n'y a que trois possibilités, or j'ai besoin de cinq. Existe t il une solution ?

Merci.
 
J'ai eu ce souci également avec la formule SOMME.SI qui n'accepte qu'un critère

alors j'ai concaténer les critères (D1=A1 & B1 & C1) pour n'en faire qu'un dans une colonne (que l'on peut masqué à l'affichage)

il suffit de lier la condition aux cellules concaténées (ici D1)

Attention à préserver une logique de syntaxe dans le nouveau champs concaténer
 
Je ne sais pas mais mon probléme est à priori autre. Je voudrait en rentrant une valeur en l'occurence une valeur de type (1à5)/mois/année qu'en fonction de la valeur du premier chiffre la couleur varie
1 = vert
2 = bleu
3 = jaune
4 = rouge
5 = gris

merci
 
jouuuuli Mister Ti (t'es balèse comme le gars de l'Agence Tous Risques ..... Désolé

Bon comme j'ai bossé un peu sur le sujet, je propose tout de même ma solution

*****

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim xcol, xcrit As Integer

xcol = ActiveCell.Column
xcrit = ActiveCell.Value

If xcol = 1 Then 'pour ne faire les conditions uniquement sur une colonne (ici 1 = colonne A)

Select Case xcrit 'condition si valeur cellule = 1 à 5
Case 1
Selection.Interior.ColorIndex = 10
Case 2
Selection.Interior.ColorIndex = 5
Case 3
Selection.Interior.ColorIndex = 6
Case 4
Selection.Interior.ColorIndex = 3
Case 5
Selection.Interior.ColorIndex = 16
Case Else
Selection.Interior.ColorIndex = xlNone

End Select

End If

End Sub

*****

L'inconvénient c'est que lorsque l'on saisit, la cellule testé est celle où l'on s'est déplacé. Ce n'est que en se replaçant sur la cellule que la modif fonctionne.

On pourrait faire un offset mais comment détecter le déplacement (droite, gauche, bas, haut) ??? ou alors s'orienter sur une autre méthode
 
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False 'Pour désactiver la mise à jour de l'affichage

For Each c In Worksheets(1).Range("D10:K20")

If c.Value = 1 Then
c.Interior.ColorIndex = 4
c.Font.ColorIndex = 4
End If
If c.Value = 2 Then
c.Interior.ColorIndex = 5
c.Font.ColorIndex = 5
End If
If c.Value = 3 Then
c.Interior.ColorIndex = 6
c.Font.ColorIndex = 6
End If
If c.Value = 4 Then
c.Interior.ColorIndex = 3
c.Font.ColorIndex = 3
End If
If c.Value = "nc" Or c.Value = "NC" Then
c.Interior.ColorIndex = 15
c.Font.ColorIndex = 15
c.Font.Bold = True
End If
If c.Value = "abs" Then
c.Interior.ColorIndex = 0
c.Font.ColorIndex = 0
c.Font.Bold = True
End If

If c.Value = "" Then
c.Interior.ColorIndex = 0
c.Font.ColorIndex = 0
c.Font.Bold = False
End If
Next c
Application.ScreenUpdating = True
End Sub



voila ce que j'ai mais cela plante alors que au debut cela fonctionner

qu'en pensez vous

merci

bonne année et meilleure santé à tous

pierre
 
Bonsoir à toutes et à tous,

Je n'apporte pas de solutions mais plutôt une nouvelle interrogation qui, je pense, rejoint la première question.
Voyez par vous même... Ci-joint un petit Zip de mon planning horaire tronqué.

Merci et à bientôt.

Daniel
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
153
Réponses
4
Affichages
199
Retour