XL 2010 attribuer une cellule à une plage

Nonno

XLDnaute Nouveau
Bonjour,

Je souhaiterai avoir un bout de code qui me met un message d'erreur si dans une des cellules des colonnes Y à AJ de la ligne 7 à la fin du tableau il y a écrit quelque chose, il faut que la colonne C soit rempli. Une message box qui dirait "erreur vous n'avez pas rempli la colonne C" ...
Est-ce vous pouvez m'aider svp ?

J'ai écrit cela mais ca ne marche pas...
Code:
With Sheets(1)
 For Each Cel In .Range("Y7:AJ" & Rows.Count).SpecialCells(xlCellTypeConstants)
    If .Cells(Cel.Row, "C") = "" Then MsgBox "erreur vous n'avez pas rempli la colonne C", vbOKOnly + vbExclamation
  Next
End With

Ca me met un message d'erreur à la ligne If . cells....

Merci
Cdt
 

Dranreb

XLDnaute Barbatruc
Re : attribuer une cellule à une plage

Bonjour.

Essayez peut être comme ça :
VB:
Sub Tdest()
Dim Plg As Range
With Sheets(1)
   On Error Resume Next
   Set Plg = .Range("Y7:AJ" & Rows.Count).SpecialCells(xlCellTypeConstants).EntireRow
   If Err Then Exit Sub
   Set Plg = Intersect(.Range("C7:C" & Rows.Count).SpecialCells(xlCellTypeBlanks), Plg)
   End With
If Plg Is Nothing Then Exit Sub
Application.Goto Plg
MsgBox "erreur vous n'avez pas rempli la colonne C", vbOKOnly + vbExclamation
End Sub
 

Nonno

XLDnaute Nouveau
Re : attribuer une cellule à une plage

Ca marche merci !
J'avais une autre question... En fait j'ai verrouillé la feuille et la macro ne marche plus...
Vous savez pourquoi ?

Pourtant j'ai bien écrit :
Code :

Code:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Plg As Range
With Sheets(1)
   On Error Resume Next
   Set Plg = .Range("Y7:AJ" & Rows.Count).SpecialCells(xlCellTypeConstants).EntireRow
   If Err Then Exit Sub
   Set Plg = Intersect(.Range("C7:C" & Rows.Count).SpecialCells(xlCellTypeBlanks), Plg)
   If Plg Is Nothing Then Exit Sub
   End With
Application.GoTo Plg
MsgBox "Veuillez indiquez PERM/TT dans la colonne C", vbOKOnly + vbExclamation

Et j'ai aussi d'autre code dedans et pourtant la macro marche pour les autres mais pas sur celle ci...
Merci d'avance

Cdt
 
Dernière modification par un modérateur:

Dranreb

XLDnaute Barbatruc
Re : attribuer une cellule à une plage

Une feuille ça ne se verrouille pas, ça se protège. Ce sont les cellules qui se verrouillent.
Il y a moyen de faire en sorte que la protection ne gène pas les macros en précisant le paramètre UserInterfaceOnly:=True à la méthode Protect. Cependant déprotégez quand même avant Application.Goto Plg puisque cela me semble devoir être suivi d'une rectification de l'utilisateur.
 

Discussions similaires

Statistiques des forums

Discussions
312 415
Messages
2 088 235
Membres
103 776
dernier inscrit
Floortin