Afficher un message alerte sur toute les Feuille

Bonjour , je découvre les macros sur excel et ce forum.

Aujourd'hui j'ai réaliser un fichier excel qui fait un suivi des stocks des filtre de Centrale de traitement d'air (CTA). (pour histoire sur mon site j'ai voulu combiner 4 fichier excel en 1)

Et maintenant je souhaite que dés que je passe en dessous d'un seuil dans la feuille 1 (Stock filtre ) je reçois une alerte sur n'importe quelle page ou je suis, car chaque CTA a ça page précise et le stock réel est reporter sur la feuille 1 selon les livraison et la consommation

car pour instant j'arrive seulement a la voir si je modifie moi même le seuil sur la page. comment la faire afficher sur tout?

si joint mon fichier.

Voici la macros que j'ai utiliser

Private Sub Worksheet_Change(ByVal Target As Range)

If Cells(4, 4) <= 6 Then MsgBox "Filtre CTA 3 F7 Bas"

If Cells(5, 4) <= 6 Then MsgBox "Filtre CTA 3 F7 Bas"

If Cells(10, 4) <= 6 Then MsgBox "Filtre CTA 4 F7 Bas"

If Cells(11, 4) <= 6 Then MsgBox "Filtre CTA 4 F7 Bas"

If Cells(16, 4) <= 2 Then MsgBox "Filtre CTA 5 F7 Bas"

If Cells(21, 4) <= 2 Then MsgBox "Filtre CTA 6 F7 Bas"

If Cells(26, 4) <= 12 Then MsgBox "Filtre CTA 7/14 F7 Bas"

If Cells(31, 4) <= 12 Then MsgBox "Filtre CTA 8/9/13 F7 Bas"

If Cells(43, 4) <= 4 Then MsgBox "Filtre CTA 11 G4 Bas"

If Cells(44, 4) <= 4 Then MsgBox "Filtre CTA 11 F7 Bas"

If Cells(45, 4) <= 4 Then MsgBox "Filtre CTA 11 H10 Bas"

If Cells(50, 4) <= 2 Then MsgBox "Filtre CTA 12 G4 Bas"

If Cells(51, 4) <= 2 Then MsgBox "Filtre CTA 12 G4 Bas"

If Cells(52, 4) <= 2 Then MsgBox "Filtre CTA 12 F7 Bas"

If Cells(53, 4) <= 2 Then MsgBox "Filtre CTA 12 F7 Bas"

If Cells(54, 4) <= 2 Then MsgBox "Filtre CTA 12 H10 Bas"

If Cells(55, 4) <= 2 Then MsgBox "Filtre CTA 12 H10 Bas"

End Sub

25ctam.xlsm (121.93 Ko)

Salut NicoKoni,

Le recalcul d'une formule n'étant pas détecté par VBA, il faut remonter à la source manuelle du recalcul donc, dans chaque feuille 'CTA' dans une colonne "Quantité".

Pour éviter d'écrire 100 fois le code, on utilise le module 'ThisWorkbook' dont les codes sont valables pour toutes les feuilles ce qui implique une grande rigueur dans la construction des feuilles.

Ainsi, dans 'CTA 12', j'ai supprimé une ligne pour ramener les en-têtes "Quantité" sur la ligne 7.

Dans ce cas, je cible alors les feuilles 'CTA' et je vérifie que la colonne est bien celle recherchée avant de calculer la MsgBox.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'
Dim sMsg$
'
If Left(Sh.Name, 3) = "CTA" Then
    If Sh.Cells(7, Target.Column) = "Quantité" Then
        With Worksheets("Stock Filtres")
            If .Cells(4, 4) <= 6 Or .Cells(5, 4) <= 6 Then sMsg = "Filtre CTA 3 F7 Bas"
            If .Cells(10, 4) <= 6 Or .Cells(11, 4) <= 6 Then sMsg = sMsg & Chr(10) & "Filtre CTA 4 F7 Bas"
            If .Cells(16, 4) <= 2 Then sMsg = sMsg & Chr(10) & "Filtre CTA 5 F7 Bas"
            If .Cells(21, 4) <= 2 Then sMsg = sMsg & Chr(10) & "Filtre CTA 6 F7 Bas"
            If .Cells(26, 4) <= 12 Then sMsg = sMsg & Chr(10) & "Filtre CTA 7/14 F7 Bas"
            If .Cells(31, 4) <= 12 Then sMsg = sMsg & Chr(10) & "Filtre CTA 8/9/13 F7 Bas"
            If .Cells(43, 4) <= 4 Then sMsg = sMsg & Chr(10) & "Filtre CTA 11 G4 Bas"
            If .Cells(44, 4) <= 4 Then sMsg = sMsg & Chr(10) & "Filtre CTA 11 F7 Bas"
            If .Cells(45, 4) <= 4 Then sMsg = sMsg & Chr(10) & "Filtre CTA 11 H10 Bas"
            If .Cells(50, 4) <= 2 Or .Cells(51, 4) <= 2 Then sMsg = sMsg & Chr(10) & "Filtre CTA 12 G4 Bas"
            If .Cells(52, 4) <= 2 Or .Cells(53, 4) <= 2 Then sMsg = sMsg & Chr(10) & "Filtre CTA 12 F7 Bas"
            If .Cells(54, 4) <= 2 Or .Cells(55, 4) <= 2 Then sMsg = sMsg & Chr(10) & "Filtre CTA 12 H10 Bas"
            If sMsg <> "" Then MsgBox "         ! ATTENTION !" & Chr(10) & Chr(10) & sMsg, vbCritical + vbOKOnly, "Stock filtres"
        End With
    End If
End If
'
End Sub

A+

7ctam.xlsm (127.45 Ko)

Top merci curulis57 je te remercie .

Bon j'ai beaucoup a apprendre

Rechercher des sujets similaires à "afficher message alerte toute feuille"