Alerte par onglet VBA

Bonjour,

grâce à vous, mon fichier peut désormais afficher toutes les alertes sur la page de démarrage.

Pour rendre mon fichier plus aisé à la lecture, j'ai créé des onglets (cheese, drinks...). Est-il possible de faire en sorte qu'une alerte se déclenche uniquement lorsque je clique sur l'onglet en question plutôt qu'au démarrage d'excel?

Par exemple, je clique sur l'onglet "drinks" et une alerte apparaît pour me dire de commander un smoothie.

J'ai essayé de rentrer un code directement dans la worksheet en modifiant workbook par feuil2 sans succès.

J'espère avoir été assez clair. Il faudrait une alerte par onglet qui apparaisse lorsqu'on passe d'un onglet à un autre.

J'aimerais faire apparaître également un "-"devant chaque référence à commander dans le message d'alerte.

Merci d'avance.

Fabien

26inventory-2.xlsm (66.78 Ko)

Bonjour

johnny74 a écrit :

J'ai essayé de rentrer un code directement dans la worksheet en modifiant workbook par feuil2 sans succès.

Cela ne suffit pas. Il faut aussi changer le nom de la macro événementielle :

Private Sub Worksheet_Activate()
'Pour les boissons
Dim drink As Range
Dim hips
For Each drink In Feuil2.Range("Alert_boisson")
    If drink.Value = 1 Then
        hips = hips & vbLf & Cells(drink.Row, 1).Value
    End If
Next drink
MsgBox "The reference(s): " & hips & vbLf & " need(s) to be ordered.", vbCritical, "WARNING ORDER"

End Sub

Bye !

Merci! Cela fonctionne!

Auriez-vous aussi une idée pour les tirets?

Fabien

Pour les tirets, j'avais zappé.

Private Sub Worksheet_Activate()
'Pour les boissons
Dim drink As Range
Dim hips
For Each drink In Feuil2.Range("Alert_boisson")
    If drink.Value = 1 Then
        hips = hips & vbLf & "- "& Cells(drink.Row, 1).Value
    End If
Next drink
MsgBox "The reference(s): " & hips & vbLf & " need(s) to be ordered.", vbCritical, "WARNING ORDER"

End Sub

Merci beaucoup de votre aide

Fabien

Rechercher des sujets similaires à "alerte onglet vba"