MsgBox si valeur dans colonne

Bonjour à tous,

Dans un fichier excel, j'aimerai afficher un message "Changer les outils" si le nombre de coupe atteint la valeur de 150.

Le nombre de coupe se calcule dans la colonne B de mon fichier.

Lorsque ce nombre de coupe atteint 150, j'aimerai que le message "Changer les outils" apparaisse.

Une fois le message apparut, il faudrait changer cette valeur de 150 afin de reprendre le compteur et de ne réafficher ce message qu'au prochain 150.

En espérant être assez claire...

Merci!

9test.xlsm (9.66 Ko)

Salut Enenoiz,

à tester

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngCount As Long, a As Integer

If Target.Column = 2 Then
lngCount = Application.WorksheetFunction.CountA(Columns(2)) - 1
a = lngCount - 150 * Int((lngCount / 150))
If a = 0 Then
MsgBox "Changer les outils"
End If
End If
End Sub

@++

Bonjour Enenoiz, le forum,

Salut m3ellem1,

Une autre contribution....à tester également...

Tu inscris la date en colonne A, l'incrémentation se fait alors en colonne B.

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim i As Long, dl As Long, plage As Range
  With Sheets("Feuil1")
         dl = .Range("A" & Rows.Count).End(xlUp).Row
  Set plage = .Range("A2:A" & dl)
    If Not Application.Intersect(Target, plage) Is Nothing Then
     If Target.Value <> "" Then
      Select Case Target.Offset(-1, 1)
       Case Is = 149
        Target.Offset(, 1) = 150
        MsgBox "Changer les outils"
       Case Is = 150
        Target.Offset(, 1) = 1
       Case Else
        Target.Offset(, 1) = Target.Offset(-1, 1) + 1
       End Select
      End If
     End If
  End With
End Sub
3test2.xlsm (18.88 Ko)

Cordialement,

Bonjour à vous deux et merci pour ces réponses.

Est-ce qu'il est possible de gérer uniquement le message dans une macro et le reste en formule simple ?

Je pensais gérer le compteur avec la formule : =SI(A3="";"";SI(B2=150;"OK";B2+1)) et le message avec une macro :

SI valeur colonne B = 150

MsgBox "changer les outils"

Quand MsgBox fermé changer le 150 en "OK" (évite d'afficher le message avec les 150 précédents).

Est-ce possible?

je comprend plus rien

Re,

Je pensais gérer le compteur avec la formule : =SI(A3="";"";SI(B2=150;"OK";B2+1)) et le message avec une macro :

SI valeur colonne B = 150

MsgBox "changer les outils"

Quand MsgBox fermé changer le 150 en "OK"

Pas sur d'avoir compris non plus

Nouvelle tentative....

  • on inscrit la date en colonne A
  • la formule incrémente la colonne B (je l'ai modifiée pour tenir compte du OK)
  • si b=150, message + remplacement de 150 par OK
3test2-v2.xlsm (54.79 Ko)

Cordialement,

Super merci c'est ça!!

Une dernière question : est-ce que c'est possible de gérer les lignes où il n'y aurait pas de date?

C'est à dire que si on saute une ligne entre 2 dates, laisser la colonne B vide et reprendre le compteur par la suite?

Merci encore

Re,

si on saute une ligne entre 2 dates, laisser la colonne B vide et reprendre le compteur par la suite

Un essai par macro évènementielle...tu peux "sauter" plusieurs lignes....

4enenoiz.xlsm (20.04 Ko)

Cordialement,

Bonjour,

Vu votre formule en colonne B

Il est aussi possible de prévoir un affichage du message par formule si en face de la date ( aujourdhui() )

on trouve 150.

Dans l'exemple la formule sera à remettre en B19 car j'ai tapé 150 pour le test.

5test-date150.xlsm (11.53 Ko)

Ainsi le message disparaît le lendemain puisque votre compteur affichera 1 en colonne B

Merci à tous

Rechercher des sujets similaires à "msgbox valeur colonne"