Verification cellule non vide avant fermeture du fichier

wapadou

XLDnaute Nouveau
Bonjour,

Je souhaite vérifier si plusieurs cellules ne sont pas vides (bien remplis par l'utilisateur) avant ou pendant la fermeture du fichier.
En sachant que cette vérification porte sur plusieurs cellules d'une même ligne et ceci pour de nombreuses lignes.

Merci
 

Gorfael

XLDnaute Barbatruc
Re : Verification cellule non vide avant fermeture du fichier

Salut wapadou et le forum
Tu donnes des généralités, alors, une réponse générale : Utilise "Workbook_BeforeClose" du module ThisworkBook, en mettant Cancel=True si tu veux empêcher la fermeture.
A+
 

wapadou

XLDnaute Nouveau
Re : Verification cellule non vide avant fermeture du fichier

Je cherche à obliger l'utilisateur à remplir au minimum une des 3 cellules suivantes (K2,L2,M2) et une de (P2,Q2,R2)
Pour la vérification j'avais pensé à vérifier cela juste avant la fermeture du fichier.
Est ce assez précis ?
 

Gorfael

XLDnaute Barbatruc
Re : Verification cellule non vide avant fermeture du fichier

Salut wapadou et le forum
Module ThisWorkBook dans VBEditor (<Alt>+<F11>), tu colles la macro suivante :
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
'déclaration ===================================
Dim Cel As Range, Plage As Range
'MEI ===========================================
Set Plage = Range("K2")
'traitement ====================================
For Each Cel In Plage
'pour chaque cellule de plage
    If Cel = "" And Cel.Offset(0, 1) = "" And Cel.Offset(0, 2) = "" Then
        Range(Cel, Cel.Offset(0, 2)).Select
        MsgBox "Une de ces cellules doit être remplie !", vbExclamation + vbOKOnly, "ERREUR SAISIE"
        Cancel = True
        Exit Sub
    End If
    If Cel.Offset(0, 5) = "" And Cel.Offset(0, 6) = "" And Cel.Offset(0, 7) = "" Then
        Range(Cel.Offset(0, 5), Cel.Offset(0, 7)).Select
        MsgBox "Une de ces 3 cellules doit être remplie !", vbExclamation + vbOKOnly, "ERREUR SAISIE"
        Cancel = True
        Exit Sub
    End If
Next Cel
End Sub
Pour Plage, je n'ai défini que la cellule K2 : Il faudrait mettre les K des lignes à vérifier ex : range("K2, K3,K5:K12"). n'ayant pas plus d'informations...
A+
 

Discussions similaires

Statistiques des forums

Discussions
312 089
Messages
2 085 206
Membres
102 819
dernier inscrit
Michew13