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

Membres actuellement en ligne

Statistiques des forums

Discussions
312 505
Messages
2 089 071
Membres
104 020
dernier inscrit
Mzghal