Microsoft 365 Pourquoi ma 1ère MsgBox n'apparait pas à l'ouverture de mon fichier

rosabelle

XLDnaute Junior
Bonjour,

Novice je viens de créer ma 1ère MsgBox grâce au tuto VBA de DavidXLD que je remercie chaleureusement.
Il faut que je m'entraîne encore car je suis pas très douée.
J'ai mis le code suivant (des plus simples) sur une feuille de mon fichier
Sub alertesaisie()
MsgBox ("Attention,saisir le coefficient ")
End Sub

J'ai mis ce code en dessous d'un autre code que j'utilise pour l'impression de certains éléments de la feuille (je ne sais pas si cette information a une importance).
Mon problème c'est que la boîte de dialogue MsgBox n'apparait plus à l'ouverture de mon fichier depuis que j'ai fait le test avec la touche F5 et ai cliqué sur "ok".
Je souhaiterais que ce message apparaisse à chaque fois qu'on ouvre le fichier.
Merci par avance pour votre analyse
A bientôt
 

Pièces jointes

  • Test msgbox.xlsx
    8.1 KB · Affichages: 2
Solution
En fait non vous n'aviez pas tous les éléments, voyez le code de ce fichier (3) :
VB:
Private Sub Workbook_Open()
Workbook_SheetActivate ActiveSheet 'lance la macro
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
With Sh.[C4]
    .Select
    If .Value = "" Then
        MsgBox "Attention, saisir le prix !", vbInformation, "Avertissement"
        CreateObject("wscript.shell").SendKeys "%{DOWN}" 'touches Alt+<BAS>, déroule la liste
    ElseIf MsgBox("Etes-vous sûr du prix de " & .Text & " ?", vbQuestion + vbYesNo, "Vérification") = vbNo Then
        CreateObject("wscript.shell").SendKeys "%{DOWN}"
    End If
End With
End Sub
wscript.shell évite la désactivation du pavé numérique par SendKeys.

job75

XLDnaute Barbatruc
En fait non vous n'aviez pas tous les éléments, voyez le code de ce fichier (3) :
VB:
Private Sub Workbook_Open()
Workbook_SheetActivate ActiveSheet 'lance la macro
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
With Sh.[C4]
    .Select
    If .Value = "" Then
        MsgBox "Attention, saisir le prix !", vbInformation, "Avertissement"
        CreateObject("wscript.shell").SendKeys "%{DOWN}" 'touches Alt+<BAS>, déroule la liste
    ElseIf MsgBox("Etes-vous sûr du prix de " & .Text & " ?", vbQuestion + vbYesNo, "Vérification") = vbNo Then
        CreateObject("wscript.shell").SendKeys "%{DOWN}"
    End If
End With
End Sub
wscript.shell évite la désactivation du pavé numérique par SendKeys.
 

Pièces jointes

  • Test msgbox(3).xlsm
    19.5 KB · Affichages: 5

rosabelle

XLDnaute Junior
Bonsoir,

Super, ça fonctionne très bien, je l'ai intégré dans mon fichier.
C'est quand même compliqué pour une novice.
Je réussirai à créer une MsgBox basique je crois, pas un code aussi élaboré que ci-dessus, encore du travail......
Mille fois merci!
Bonne soirée
 

Discussions similaires

Statistiques des forums

Discussions
314 633
Messages
2 111 416
Membres
111 126
dernier inscrit
vitam