XL 2016 MsgBox à sélection de feuille

senpan

XLDnaute Junior
Bonjour à tous,

Je suis en train de pleurer tellement ça doit être simple mais...

Je cherche à mettre en place une MsgBox lorsque l'on clique sur le nom d'une feuille.
J'ai trois feuille dans mon classeur : Feuil1, Feuil2 et Feuil3.

J'aimerais qu'une MsgBox s'affiche lorsque l'on clique sur le Feuil2 avant de commencer à travailler dessous.

Voici le code que j'utilise dans Feuil2 :
Private Sub Worksheet_Activate()
MsgBox("Ne pas oublier de remplir :" & Chr(10) & "1. la Date" & Chr(10) & "2. le Lieu" & Chr(10) & "3. le Budget HT", vbMsgBoxSetForeground + vbOKOnly + vbExclamation, "Plan de tir")
End Sub

Le problème est qu'Excel me dit "Erreur de compilation. Attendu:=".
Mais pourquoi ?

Résultat, je ne sais même pas si la MsgBox pourra bien s'afficher lorsque l'on va cliquer sur le "Feuil2".
 

Pièces jointes

  • Classeur1.xlsm
    17.5 KB · Affichages: 27

Jacky67

XLDnaute Barbatruc
Bonjour,
Le parenthèse au debut et à la fin sont de trop dans ce cas.
Code:
MsgBox "Ne pas oublier de remplir :" & Chr(10) & "1. la Date" & Chr(10) & "2. le Lieu" & Chr(10) & "3. le Budget HT", vbMsgBoxSetForeground + vbOKOnly + vbExclamation, "Plan de tir"

**Ne serait-il pas plus judicieux de vérifier ces cellules au "Deactivate" de la feuille??
Que ce passe t'il si les consignes ne sont pas respectées ?
 
Dernière édition:

senpan

XLDnaute Junior
Merci Jacky67 !
Ces fichues parenthèses... L'habitude d'écrire avec. J'ai honte...

Pour répondre à tes questions, je ne préfère pas car cela risque de ne pas être effectué par les utilisateurs du fichier.
En effet, je veux qu'ils soient avertis dès le début de l'obligation de saisie dans la feuille. Au sortir de la feuille, ils peuvent toujours continuer le travail sans ces informations. Trop grand risque.

Après je suis OK avec toi sur le principe.
Cependant, existe-t-il une méthode pour vérifier si telle ou telles cellules sont "non vide" ?
 

senpan

XLDnaute Junior
Oui c'est tout bête !

J'ai donc fait cela :
Private Sub Worksheet_Activate()

If Range("B1") = "" Then
MsgBox "La date n'est pas siaise !", vbMsgBoxSetForeground + vbOKOnly + vbExclamation, "Plan de tir - DATE MANQUANTE"
Else
End If

If Range("B2") = "" Then
MsgBox "Le lieu n'est pas siaise !", vbMsgBoxSetForeground + vbOKOnly + vbExclamation, "Plan de tir - LIEU MANQUANT"
Else
End If

If Range("N1") = "" Then
MsgBox "Le budget HT n'est pas siaise !", vbMsgBoxSetForeground + vbOKOnly + vbExclamation, "Plan de tir - BUDGET HT MANQUANT"
Else
End If

End Sub
 

Jacky67

XLDnaute Barbatruc
Re...
C'est presque cela , sauf à mettre sur l'instruction Deactivate
Ainsi, si les cellules ne sont pas saisie, impossible de quitter la feuille.
Très sommairement, comme en PJ
*Pj modifié
 

Pièces jointes

  • msgbox_feuil2.xlsm
    18.9 KB · Affichages: 27
Dernière édition:

Discussions similaires

Réponses
5
Affichages
367
Compte Supprimé 979
C

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 847
dernier inscrit
Djigbenou