Couleur Police selon Résultat Formule

  • Initiateur de la discussion Initiateur de la discussion ljoue
  • 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 !

L

ljoue

Guest
Bonjour à tous,

J'ai dans une feuille 'Moderato F'! une formule dont le résultat récupère soit le résultat de la :

- feuille 'Moderato S'!
- feuille 'Moderato E'!

Voici la Formule en C2 sur la feuille 'Moderato F'!

C2 = SI('Moderato S'!C2=0;'Moderato E'!C2;'Moderato S'!C2)

Question :
Comment faire pour :

- afficher le résultat en Rouge si il provient de 'Moderato E'!

- afficher le résultat en Vert si il provient de 'Moderato S'!


Rq : La mise en forme conditionnelle ne fonctionne pas car les données se trouvent sur d'autres feuilles que celle de la formule !

Merci d'avance

Cordialement,
Laurent
 
Bon je crois que j'ai trouvé

Code :

Sub Couleur()

Dim i As Integer

For i = 2 To 36
Sheets('Moderato F').Select
If Cells(i, 3) = Sheets('Moderato E').Cells(i, 3) Then
Sheets('Moderato F').Select
Cells(i, 3).Interior.ColorIndex = 3 'colorie A1 en rouge
End If

Sheets('Moderato F').Select
If Cells(i, 3) = Sheets('Moderato S').Cells(i, 3) Then
Sheets('Moderato F').Select
Cells(i, 3).Interior.ColorIndex = 4
End If

Next i
End Sub
 
Bojnour ljoue, Bonjour le Forum

Voici une méthode qui n'est pas très orthodoxe mais qui fonctionne.
Lorsque la cellule change de valeur, cela lance la macro colorize afin de vérifier à quelle feuille le résultat correspond.

La mise en forme conditionnelle ne fonctionne pas de feuille en feuille.
La vérification ne peut se faire que sur la même feuille.
Tu peux envisager de rapatrier les résultats sur cette feuille puis utiliser la MFC.

Regarde et utilise pour savoir si cela te convient.

Colle le code suivant dans la feuille:
Private Sub Worksheet_Change(ByVal Target As Range)

Colorize

End Sub

Puis dans un module, ajoute ce code:
Sub Colorize()
'
' Macro enregistrée le 25/08/2005 par Humansoft ©2005
'

'
Sheets('ModeratoF').Select
If Range('C2').Value = Range('ModeratoS!C2').Value Then
Range('C2').Select
With Selection.Font
.ColorIndex = 50
.FontStyle = 'Gras'
End With
Else
Range('C2').Select
With Selection.Font
.ColorIndex = 3
.FontStyle = 'Gras'
End With
End If

End Sub

ATTENTION. Tu dois modifier le nom des feuilles afin d'enlever l'espace entre Moderato et la Lettre, sinon Erreur 1004

Vincent
 
Salut Vincent,

Merci pour ton aide 😉

Je vais tester ta proposition et la comparer avec la mienne...
...puis retiendrais la moins lourde ou ferais un mix des deux!

Merci encore
et Bonne soirée !

@+
Laurent
 
Salut,

Il y a bien moyen de le faire par une MFC, mais il faut créer une colonne supplémentaire sur la feuille avec une formule testant la présence de la valeur retournée dans la feuille, puis en appliquant le MFC sur ce résultat.

Peut-être moins pratique qu'une macro ?

Â+
 
Salut André,

Merci pour ta proposition...
...mais le problème est que je ne peut pas modifier le tableau existant (Restrictions imposées par les gérants de ma boîte...😱 )
...donc pas de MFC possible.


Mais je viens de résoudre mon problème par Macro, ça marche super !

Merci à vous deux et au Forum !


Bonne soirée
Laurent
 
- 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
4
Affichages
217
Réponses
1
Affichages
344
wDog66
W
Réponses
4
Affichages
309
Réponses
7
Affichages
299
Réponses
5
Affichages
231
Retour