Bloquer le contenu d'une cellule

Magic_Doctor

XLDnaute Barbatruc
Bonjour,

J'ai 2 cellules. Dans la 1ère je peux rentrer des valeurs, dans la seconde aussi.
Si la 2ème cellule est vide, alors je peux rentrer la valeur que je veux dans la 1ère. En revanche, si la seconde cellule n'est pas vide, si je rentre une valeur dans la 1ère cellule, la valeur qui y figurait, avant que la 2ème cellule ne soit plus vide, s'imposera. En d'autres termes la 1ère cellule restera bloquée sur sa valeur.
J'ai tenté quelque chose, mais ça ne marche pas.

Merci d'avance pour toute aide.
 

Pièces jointes

  • Cellule.xlsm
    13.6 KB · Affichages: 61

job75

XLDnaute Barbatruc
Re : Bloquer le contenu d'une cellule

Bonjour Magic_Doctor, le forum,

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, [B3]) Is Nothing Then
    Application.EnableEvents = False
    If [B4].Text <> "" Then Application.Undo
    Application.EnableEvents = True
  End If
End Sub
Bonne journée.

A+
 

laetitia90

XLDnaute Barbatruc
Re : Bloquer le contenu d'une cellule

bonjour Magic_Doctor ,Job:):)

on pourrait faire cela aussi

Code:
 Private Sub Worksheet_SelectionChange(ByVal t As Range)
 If t.Address = "$B$3" And [b4] <> "" Then t.Offset(1, 0).Select
End Sub

ou pour empecher selection plusieurs cellules pour effacer b3

Code:
Private Sub Worksheet_SelectionChange(ByVal t As Range)
 ActiveCell.Select
 If t.Address = "$B$3" And [b4] <> "" Then t.Offset(1, 0).Select
End Sub
 

Magic_Doctor

XLDnaute Barbatruc
Re : Bloquer le contenu d'une cellule

Bonjour job, laetitia, le forum,

Je viens de me lever...
Merci pour vos réponses.
Comme, dans l'application, les cellules en question ne sont pas contiguës, j'ai préféré la solution de job.
job, ta solution marche très bien avec l'exemple (très simplifié) que j'ai mis dans le 1er post. Mais, contre toute attente, dans mon application ça ne marche pas, et là je ne comprends vraiment pas pourquoi, après avoir un peu tout essayé.
Ah la la ! Excel... Excel... Excel...
 

Magic_Doctor

XLDnaute Barbatruc
Re : Bloquer le contenu d'une cellule

Problème réglé, mais une curiosité cependant.
Dans mon application, j'avais au départ écrit ceci :
VB:
Private Sub Worksheet_Change(ByVal target As Range)    
	If Not Intersect(target, [Col_Saisies].Rows(6)) Is Nothing Then
	    target.Font.Color = 5767344
            Application.EnableEvents = False
            If [Col_Saisies].Rows(8).Text <> "" Then Application.Undo
            Application.EnableEvents = True
	    'blablabla
       End If
End Sub
Ça ne marchait pas.
J'ai par la suite écrit ceci :
VB:
Private Sub Worksheet_Change(ByVal target As Range)    
	If Not Intersect(target, [Col_Saisies].Rows(6)) Is Nothing Then
            Application.EnableEvents = False
            If [Col_Saisies].Rows(8).Text <> "" Then Application.Undo
            Application.EnableEvents = True
            target.Font.Color = 5767344
	    'blablabla
       End If
End Sub
Et là ça marche.
Bizarre non ?
 

Discussions similaires

Statistiques des forums

Discussions
312 594
Messages
2 090 088
Membres
104 371
dernier inscrit
Momo6767