Afficher un msgBox en fonction du contenu de la feuille

Fermé
LuXxie Messages postés 2 Date d'inscription jeudi 14 novembre 2019 Statut Membre Dernière intervention 15 novembre 2019 - Modifié le 14 nov. 2019 à 14:08
LuXxie Messages postés 2 Date d'inscription jeudi 14 novembre 2019 Statut Membre Dernière intervention 15 novembre 2019 - 15 nov. 2019 à 09:46
Bonjour,

Je souhaite que lors de l'execution d'une macro, un msgbox s'affiche si il y a au moins une ligne de couleur rouge, le problème est que j'ai un msgbox par ligne,donc 6 msgbox pour 6 lignes… Ce n'est pas un gros problème en soit mais cette macro s'applique à une liste de produits avec date de péremption et si j'ai 50 produits qui se périme le meme mois ca va vite devenir embêtant…

Quelqu'un s'aurait comment faire en sorte que quelque soit le nombre de lignes rouge j'ai qu'un seul msgbox qui apparaisse.

Voici mon code :

Sub peremption2()

'jet? ? la poubelle
Dim e As Integer
For e = 2 To 9999
        If Cells(e, 3) < Cells(5, 8) And Cells(e, 5) = "Non" Then
            Range(Cells(e, 1), Cells(e, 6)).Interior.ColorIndex = 3
        End If

If Range(Cells(e, 1), Cells(e, 6)).Interior.ColorIndex = 3 Then
   Dim Msg, Style, Title, Help, Ctxt, Response, MyString
      Msg = "Des r?actifs sont p?rim?s et non jet?s."
       Style = vbOKOnly
       Response = MsgBox(Msg, Style)
End If

Next e

'date de peremption depass?e
Dim i As Integer
For i = 2 To 9999
    If Cells(i, 3) < Cells(5, 8) And Cells(i, 5) = "Oui" Then
        Range(Cells(i, 1), Cells(i, 6)).Interior.ColorIndex = 15
    End If
Next i

End Sub

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 août 2024 729
Modifié le 14 nov. 2019 à 14:26
Bonjour,

un exemple à adapter:

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Dim e As Integer
For e = 2 To 9999
     If Range(Cells(e, 1), Cells(e, 6)).Interior.ColorIndex = 3 Then
   Msg = "Des réactifs sont périmés et non jetés sur la ligne: " & e & vbCrLf & Msg
End If
Next e
  Style = vbOKOnly
 Response = MsgBox(Msg, Style, "LuXxie")




0
LuXxie Messages postés 2 Date d'inscription jeudi 14 novembre 2019 Statut Membre Dernière intervention 15 novembre 2019
15 nov. 2019 à 09:46
Super ça fonctionne merci beaucoup ! Je ne savais pas qu'on pouvais mettre des conditions à l'intérieur d'un msgbox.
0