Empecher l'enregistrement SI

Résolu
Ecrelinf Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
Ecrelinf Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Après m'être baladé sur divers sujets je me décide à poser ma question car je suis un peu perdu ...

Je souhaiterais empêcher un utilisateur d'enregistrer son fichier Excel si il y a des cellules en A dont le fond est rouge. Le fond des cellules en A peut être teint en rouge selon une mise en forme conditionnelle.

J'ai donc pompé quelques petites lignes de code sur ce forum que j'ai mis à ma sauce et voilà ce que ça donne :


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
For i = 7 To 2000
If Worksheets("Modifier le libellé").Range("A" & i).Interior.Color = 255 Then
MsgBox "La référence de la ligne " & i & " n'est pas renseignée": Cancel = True
End If
Next i
End Sub

Jusque là, tout va à peu près bien.
Le problème c'est que quand j'enregistre mon classeur et que je fais exprès de mettre une cellule A en rouge (pour ce faire, il suffit de ne pas respecter la mise en forme conditionnelle qui est "si B et C ne sont pas vides et A est vide alors ==> je teint ma cellule A en rouge" !) et bein mon classeur s'enregistre très bien (l'effronté !) lorsque je clique sur la petite disquette ou que j'enregistre sous.

J'espère avoir été assez claire, si ça ne l'est pas, je vous invite à jeter un coup d'oeil à mon fichier excel : https://www.cjoint.com/?0GvqZ0q7NFU

Merci d'avance pour votre aide !

Ecrelinf
A voir également:

1 réponse

f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

A voir:

http://www.excelabo.net/excel/desactiver_enregistrement_classeur
1
Ecrelinf Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour le coup de main f894009.
Cependant, je ne suis pas un foudre de guerre en VBA et je me demande dans quelle macro je dois placer mon "If" ?

Merci pour ton aide en tout cas ! :)
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

Ai teste ce matin et:

1/ il y a deux erreurs dans les codes desactivation et activation touche ctrl+s (raccourcis clavier sauvegarde)
correction:
'desactive le raccourci clavier Ctrl+S,
Application.OnKey "^s", ""

''rétabli le raccourci clavier Ctrl+S
Application.OnKey "^s"

2/ Petit probleme fermeture excel sur click croix fenetre excel2007 et + (je vais regarder pourquoi)

3/ pour vous il faudra faire vos tests de cellules non renseignees
dans ces deux evenements:

Private Sub Workbook_BeforeClose()
Private Sub Workbook_BeforeSave()
0
Ecrelinf Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour f8904009,

J'ai essayé avec les macros proposées, et ça ne semble pas fonctionner chez moi.
En effet, le fichier s'enregistre toujours très bien, malgré que mes cases soit rouges :/

je vous transmets le fichier avec les nouvelles maccros.
https://www.cjoint.com/?0GxmxMNxMuG

Merci pour votre aide,
Ecrelinf
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Bonjour,

J'ai recupere le fichier pour modif, mais d'entree les tests couleurs sur MFC ne marche pas, il faut mettre dans le test l'equivalant de l'equation que pour la MFC. Ensuite dans les evenements:
Private Sub Workbook_BeforeClose()
Private Sub Workbook_BeforeSave()
il fallait enlever les lignes de code qui permetait de sauvegarder dans le test de couleur(meme si pas ok pour le moment)

Je vous arrange ca

A+
0
f894009 Messages postés 17277 Date d'inscription   Statut Membre Dernière intervention   1 713
 
Re,

ai plus excel2003, donc a vous de voir pour disquette grisee, le reste marche

https://www.cjoint.com/?DGxsZgr9gyi
0