Bonjour,
Sur ma feuille j'ai une cellule ("C9") dans laquelle je rentre soit 0, soit une valeur <> 0.
Ailleurs, sur la même feuille, j'ai une cellule ("B11") qui déclenche, lorsque l'on clique dessus, une macro événementielle qui n'est opérationnelle que si dans la cellule précédente il y a une valeur > 0 (si 0, cellule bloquée) ; autrement dit :
- si [C9] = 0 --> la macro événementielle est bloquée,
- si [C9] <> 0 --> la macro événementielle est opérationnelle.
GESTION DE L'AFFAIRE :
- module de feuille :
	
	
	
	
	
		
- module standard :
	
	
	
	
	
		
En conséquence :
- je clique une première fois sur la cellule "B11" --> compt1 = 1 + blablabla
- je clique à nouveau sur la même cellule --> compt1 = 2 + chabada
Maintenant, je rentre la valeur 0 dans la cellule "C9" (ce qui va fatalement bloquer la macro événementielle).
Si, avant de rentrer cette valeur compt1 = 1 --> pas de problème par la suite.
En revanche si compt1 = 2 --> problème par la suite.
Ce que je voudrais, c'est quand on met 0 et que compt1 = 2, automatiquement compt1 = 1.
J'ai essayé depuis un bon moment, mais n'y suis pas parvenu.
Merci d'avance pour tout conseil.
	
		
			
		
		
	
				
			Sur ma feuille j'ai une cellule ("C9") dans laquelle je rentre soit 0, soit une valeur <> 0.
Ailleurs, sur la même feuille, j'ai une cellule ("B11") qui déclenche, lorsque l'on clique dessus, une macro événementielle qui n'est opérationnelle que si dans la cellule précédente il y a une valeur > 0 (si 0, cellule bloquée) ; autrement dit :
- si [C9] = 0 --> la macro événementielle est bloquée,
- si [C9] <> 0 --> la macro événementielle est opérationnelle.
GESTION DE L'AFFAIRE :
- module de feuille :
		VB:
	
	
	Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [B11]) Is Nothing Then
        If [C9] = 0 Then Exit Sub   'pour rendre inopérationnelle la macro événementielle
        Application.ScreenUpdating = False
        Sheets("BTX").Unprotect MotDePasse
        Modif_Cel_Reconstitution
        Sheets("BTX").Protect MotDePasse, True, True, True
        [AZ1].Select: Application.ScreenUpdating = True
    End If
End Sub
	
		VB:
	
	
	Sub Modif_Cel_Reconstitution()
'job75
    compt1 = IIf(IsNumeric(Evaluate("Compteur1")), Evaluate("Compteur1"), 0)
    compt1 = IIf(compt1 < 2, compt1 + 1, 1)
    ActiveWorkbook.Names.Add Name:="Compteur1", RefersTo:=compt1, Visible:=False
    
    If compt1 = 1 Then
      blablabla
    else
      chabada
    endif
End Sub
	- je clique une première fois sur la cellule "B11" --> compt1 = 1 + blablabla
- je clique à nouveau sur la même cellule --> compt1 = 2 + chabada
Maintenant, je rentre la valeur 0 dans la cellule "C9" (ce qui va fatalement bloquer la macro événementielle).
Si, avant de rentrer cette valeur compt1 = 1 --> pas de problème par la suite.
En revanche si compt1 = 2 --> problème par la suite.
Ce que je voudrais, c'est quand on met 0 et que compt1 = 2, automatiquement compt1 = 1.
J'ai essayé depuis un bon moment, mais n'y suis pas parvenu.
Merci d'avance pour tout conseil.
			
				Dernière édition: