msgbox suivant la couleur de fond d'une cellule

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

T

Tonio

Guest
Bonjour à tous !
Je voudrais mettre en place cette procédure :


Dim ws As Worksheet
Dim cell As range

For Each ws In Worksheets

cell("M126").Select

If cell.Interior.ColorIndex = 45 Then
MsgBox ("Alerte orange sur fiche de ...")
ElseIf cell.Interior.ColorIndex = 3 Then
MsgBox ("Alerte rouge sur fiche de ...")
ElseIf cell.Interior.ColorIndex = 30 Then
MsgBox ("Alerte marron sur fiche de ...")

End If

Next

J'explique : la cellule M126 est en mise en forme conditionnelle, et je voudrais que suivant la couleur de fond de cette cellule, le message change.
Voila ce que j'ai tenté de faire sans succès.

Merci à tous !!
 
Salut Tonio

Et non avec une mise en forme conditionnelle tu ne peux pas appliquer les conditions sur les couleurs.
Donc il te faut repasser par les conditions que tu as mises dans ta MFC

Dim ws As Worksheet

For Each ws In Worksheets

If ws.Range("M126") = tacondition1 Then
MsgBox ("Alerte orange sur fiche de ...")
ws.Range("M126") = tacondition2 Then
MsgBox ("Alerte rouge sur fiche de ...")
ws.Range("M126") = tacondition3 Then
MsgBox ("Alerte marron sur fiche de ...")
End If

Next

De plus n'oublies pas que lorsque tu boucles sur toutes tes feuilles de préciser ws.tacellule pour bien préciser ta feuille

Bon courage

Pascal
 
Salut pascal !!

Merci de ton aide mais cela ne fonctionne toujours pas, il y a une erreur d'execution 13 : incompatibilité de type.
De plus les conditions dans la MFC sont des valeurs comprises entre 2 chiffres et je ne sais pas comment le représenter en VBA. Cest pour cela que je voulais passer par la couleur de fond.

Merci beaucoup
 
Re tonio

Voilà avec tes conditions

For Each ws In Worksheets

If ws.Range("M126") > 2 And ws.Range("M126") <= 3 Then
MsgBox ("Alerte orange sur fiche de ...")
ElseIf ws.Range("M126") > 3 And ws.Range("M126") <= 4 Then
MsgBox ("Alerte rouge sur fiche de ...")
ElseIf ws.Range("M126") > 4 And ws.Range("M126") <= 5 Then
MsgBox ("Alerte marron sur fiche de ...")
End If

Next

Bon courage

Pascal
 
Salut Pascal !!!
Merci de te donner autant de mal pour moi, mais j'aurais encore besoin de toi, j'ai toujours une execution de type 13, et je ne sais pas comment ressoudre ce problème. Est-ce que ca marchait pour toi ?
Est-ce que j'aurai oublié quelque chose d'important ?

Merci beaucoup
 
Alors là je ne comprend plus rien !!!

Lorsque je sépare mes feuilles de mon fichier, cela fonctionne correctement, cf ci-joint, sauf qu'il n'y a qu'une alerte, il faudrait qu'a chaque cellule testé et lorsque les conditions sont vérifiées, une msgbox s'affiche.

Est ce que cela peut provenir du fait que dans certaines feuilles, ma cellule M126 est vide?

Merci de ton aide.
 

Pièces jointes

Salut Tonio

Chez moi il n'y a pas d'erreur avec ton fichier.
Pour le problème d'une seule alerte cela venait du fait que ce n'est pas toujours la cellule M126 mais d'autres : exemple M122 en feuil2
J'ai donc légèrement modifié ton fichier pour tester la ligne où se trouve en colonne K ta phrase : "Etat d'urgence du site :" et je fais ensuite le test sur la cellule de la colonne M de cette ligne

Bon courage

Pascal
 

Pièces jointes

Je me permets juste de rajouter qu'il y a beaucoup de solidarité ici ! 🙂

(mis à part André qui est très peu prêteur en matière de bière)

Petit clin d'oeil de la part d'un déshydraté notoire ...
 
Salut tout le monde !!

C'est encore moi qui comprend rien !!

Voila je vous explique ce qui ne va pas : C'est vrai que cette macro marche très bien, mais il suffit que je rajoute une feuille à mon classeur pour la faire bugger.
De quoi cela peut-il venir?

Merci à tous
 
- 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
3
Affichages
493
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour