Message lors fermeture d'une feuille

  • Initiateur de la discussion Initiateur de la discussion Hugues
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Hugues

XLDnaute Impliqué
Bonjour Le Forum,

Dans un classeur, j'ai plusieurs feuilles, dont :
une feuille intitulée "saisie"
une autre intitulée "résultat"

Je souhaiterais lors de la fermeture de la feuille "résultat", un message d'erreur apparaît si aucune saisie n'est faite sur la feuille "saisie"

j'ai utilisé l'instruction suivante :

Private Sub Worksheet_Deactivate()
Dim ws1 As Worksheet
Dim ws2 As Worksheet

Set ws1 = Sheets("saisie")
Set ws2 = Sheets("résultat")



'Localisation des charges mailing
a = ws2.Application.WorksheetFunction.CountBlank(Range("A1:A4"))

MsgBox ("Nbre de cellules vides A1-A4 =" & a)



'Si plus d'une cellule vide en A alors message
If a <> 4 Then
msg1 = "Pas de saisie en colonne A"
End If


If a <> 4 Then
msg = "Attention, la saisie est incomplète : "
msg = msg & vbNewLine

msg = msg & msg1


Message = MsgBox(msg, 48, "Vérification remplissage : ")

End If
End Sub

Le souci, le comptage des cellules ne se fait pas sur la bonne feuille (saisie) mais ce fait sur la feuille résultat.

Auriez vous une solutiuon ?

Merci par avance,

Hugues
 

Pièces jointes

Re : Message lors fermeture d'une feuille

Bonjour,

Sans avoir testé, quelque chose comme ça peut-être :

Code:
a = ws1.Application.WorksheetFunction.CountBlank(ws1.Range ("A1:A4"))

ou plus simplement :

Code:
a = Application.WorksheetFunction.CountBlank(ws1.Range ("A1:A4"))
 
Dernière édition:
Re : Message lors fermeture d'une feuille

Bonsoir,

je pense que cela doit être bon

Private Sub Worksheet_Deactivate()

'Localisation des charges mailing

a = Application.WorksheetFunction.CountBlank(Range(Cells(1, 1), Cells(4, 1)))
MsgBox ("Nbre de cellules vides A1-A4 =" & a)



'Si plus d'une cellule vide en A alors message
If a = 4 Then
msg1 = "Pas de saisie en colonne A"
MsgBox msg1
End If

If a < 4 Then
msg = "Attention, la saisie est incomplète : "
msg = msg & vbNewLine
msg = msg & msg1

Message = MsgBox(msg, 48, "Vérification remplissage : ")

End If

End Sub

laurent
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
578
Retour