Plage de cellule non vide SINON pas de sauvegarde !

D

Dagada75

Guest
Bonjour à Tous !

J'espère que vous allez bien ... moi je progresse lentement mais sûrement dans le vba.
Je découvre chaque jour l'ENORME potentiel d'Excel pour des applications d'échelles moyennes :eek:)
Mon soucis est le suivant ... j'ai réussi à "bidouiller" un bout de code vba pour essayer de résooudre mon problème (avec entre autre autre l'aide de ce forum) mais il ne répond pas complètement à mes attentes.
En fait, je souhaite rentre obligatoire le renseignement de certaines cellules de colonnes en EMPECHANT la sauvegarde du fichier en cas de manquement à la saisie.
Si j'arrive à bloquer la sauvegarde en désignant les cellules 1 à 1 à rendre obligatoire; je n'arrive pas à "codifier" la problématique suivante :

- Pour la feuille 1, les cellules des colonnes A et B pour CHAQUE ligne doivent être saisies avec comme condition :
- Pour chaque ligne (exemple ligne 2) si A2 est saisie alors B2 doit être saisie SINON pas de sauvegarde !
-Pour la feuille 1 , au minimum 1 ligne doit être saisie (donc A1 et B1) et il n'y a pas de maximum ... or je n'arrive pas "interpréter" cette limite "pas de maximum".... c'est à dire que je peux aussi bien avoir 1 ligne de saisie que 1000 lignes ...

Voilà le "bout de code" que j'aie pondu et qui reste TRES limité ... puisque je suis obligé de désigné CHAQUE cellule

Sub auto_open()
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets(1).Range("A1") = "" Then Cancel = True
If Sheets(1).Range("A1") = "" Then MsgBox "Il reste des cellules non renseignées !"
If Sheets(1).Range("B1") = "" Then Cancel = True
If Sheets(1).Range("B1") = "" Then MsgBox "Il reste des cellules non renseignées !"
End Sub


Merci pour votre aide
 
M

michel

Guest
bonjour Dagada75

tu peux tester cette macro , à placer au niveau de ThisWorkbook


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.CountBlank(Sheets(1).Range("A1:B1")) > 0 Then
Cancel = True
MsgBox "Il reste des cellules non renseignées !"
End If
End Sub


bonne journee
MichelXld
 
D

dagada75

Guest
Bonjour (un matinal !) et merci pour ton aide MichelXld :eek:)

Le hic, confère le fichier joint, c'est que SI je saisie la cellule A2 sans renseigner B2 ... l'enregistrement passe ...

Cela nous ramène à l'intérprétaion de la condition évoquée ci dessus
"-Pour la feuille 1 , au minimum 1 ligne doit être saisie (donc A1 et B1) et il n'y a pas de maximum ... or je n'arrive pas "interpréter" cette limite "pas de maximum".... c'est à dire que je peux aussi bien avoir 1 ligne de saisie que 1000 lignes ..."

En effet, s'agissant d'un fichier de saisie pour des utilisateurs X ou Y, je ne sais pas A L'AVANCE combien de lignes ils vont saisir pour la feuille considérée. Par contre je veux juste m'assurer que POUR TOUTES LES lignes avec colonne renseignée ... la colonne B annexe l'est aussi.

Merci encore ....

:eek:)
 

Pièces jointes

  • ClasseurTest01022005.zip
    6.4 KB · Affichages: 28

Discussions similaires

Statistiques des forums

Discussions
312 398
Messages
2 088 076
Membres
103 707
dernier inscrit
amin Saadaoui