Macro avec double condition

Salut à tous!

Je reviens vers vous pour une petite question spécifique:

Je conçois un questionnaire, et nous volons faire des cases à cocher, qui puissent être masqués. Les ActiveX ne sont pas possibles, car non compatible sur Mac, et les formulaires de controle non plus, car non masquable.

La solution choisie a été une formule qui marque X si double clic dans une cellule vide:

Voila mon code actuel, qui marche très bien, mais pour toutes les cellules vides, alors que je voudrais pour toutes les cellules vides de la colonne B

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   On Error Resume Next
   If IsEmpty(ActiveCell.Value) Then

   ActiveCell.Value = "X"
   ElseIf ActiveCell.Value = "X" Then

 ActiveCell.Value = ""
   End If
 Cancel = True
 End Sub

Ma question: Comment appliquer 2 conditions à cette formule? Les 2 conditions étant IsEmpty et Colone B.

Je vous remercie d'avance de vos précieuses lumières!

Bonjour

A tester

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

   If Not Intersect(Columns("B"), Target) Is Nothing And IsEmpty(Target) Then
    Cancel = True
    Target = "X"
  End If
 End Sub

Bonjour Banzai!

Ta formule marche parfaitement pour ajouter des X en colonne B... Il me manque juste une petite fonctionnalité qui était sur la formule d'avant: Il faudrait qu'en cas de double clic sur une cellule contenant "X", la cellule redevienne " " (en gros, un double clic pour cocher, un autre double clic pour décocher).

J'essaye de chercher de mon coté,

Merci encore de ton aide!

Bonjour

C'est en contradiction avec ta demande

keraldinus a écrit :

La solution choisie a été une formule qui marque X si double clic dans une cellule vide:

Si un X elle n'est plus vide

Mais à tester

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

  If Not Intersect(Columns("B"), Target) Is Nothing Then
    If Target <> "" And UCase(Target) <> "X" Then Exit Sub
    Target = IIf(UCase(Target) = "X", "", "X")
    Cancel = True
 End If
End Sub

Ca marche PARFAITEMENT. Merci beaucoup de ton aide!

Rechercher des sujets similaires à "macro double condition"