Message box si occurrence d'une case > 40 Excel

Fermé
Boris85 - Modifié le 12 sept. 2022 à 16:06
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 - 12 sept. 2022 à 20:15

Bonjour,

J'aimerais pouvoir utiliser la fonction MSGBOX.

Dans la colonne B:B, j'ai des numéros de moules qui se déclarent à chaque fois que ceux-ci sont flashées. Cela peux prendre plusieurs milliers de lignes.

Dans la colonne D:D, j'ai l'inventaire de tous mes moules.

Dans la colonne E:E, j'ai le nombre de fois que les moules ont été utilisés.

Je voudrais qu'un message apparaisse dès qu'un moule a été utilisé plus de 40 fois.

Ce message devra faire apparaître le numéro du moule qui a dépassé les 40 utilisations.

Merci par avance pour votre retour

A voir également:

2 réponses

ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 426
12 sept. 2022 à 16:11

Bonjour

msgbox > macro, c'est bien ce que tu veux ?

Si oui, comment veux tu déclencher la recherche des moules ayant dépassé 40 utilisations ?

Si non une MFC (mise en forme conditionnelle) pourrait suffire

Cdlmnt

0

Bonjour,

Oui je souhaiterais utiliser une macro.

J'aimerai que celle-ci se déclenche dès qu'un nouveau numéro de moule est renseigné dans la colonne B:B.

0
ccm81 Messages postés 10903 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 19 novembre 2024 2 426
Modifié le 12 sept. 2022 à 20:17

1. Que veux tu dire par là ? Comment sont entrés ces n° de moules en colonne B ?

Dans la colonne B:B, j'ai des numéros de moules qui se déclarent à chaque fois que ceux-ci sont flashées

2. Si ces n° sont entrés "à la main" une solution

Option Explicit

Const conum = "B"
Const conbr = "D"
Const lideb = 2

Const alerte = 5

Private Sub Worksheet_Change(ByVal Target As Range)
Dim plage As Range, li As Long, n As Long, nbocc As Long
If Target.Count > 1 Then Exit Sub
If Target = "" Then Exit Sub
If Not Intersect(Target, Columns(conum)) Is Nothing Then
  li = Target.Row
  n = Target.Value
  Set plage = Range(conum & lideb & ":" & conum & li)
  nbocc = Application.WorksheetFunction.CountIf(plage, n)
  Range(conbr & li).Value = nbocc
  If nbocc >= alerte Then MsgBox "alerte moule n° " & n
End If
End Sub

Cdlmnt

0