XL 2019 Cocher une case en décoche une autre et inversement

  • Initiateur de la discussion Initiateur de la discussion Dravol
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Dravol

XLDnaute Junior
Bonjour à tous,

Dans la macro ci-dessous lorsque je coche H18 je voudrais que J18 soit décoché (et inversement)

D'ailleurs j'aimerais apporter les mêmes fonctionnalités pour Q,R,S

Avez-vous la soluce ?^^

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim isect, Z$, plage
If Target.Count = 1 Then
Z = Target.Value
plage = "h18"
Set isect = Application.Intersect(Target, Range(plage))
If Not isect Is Nothing Then
Target.Value = IIf(Z = "", "ü", "")
[j18] = IIf(Z = "", "ü", "")
End If
plage = "j18"
Set isect = Application.Intersect(Target, Range(plage))
If Not isect Is Nothing Then
Target.Value = IIf(Z = "", "ü", "")
End If
plage = "Q24:Q43"
Set isect = Application.Intersect(Target, Range(plage))
If Not isect Is Nothing Then
Target.Value = IIf(Z = "", "ü", "")
End If
plage = "R24:R43"
Set isect = Application.Intersect(Target, Range(plage))
If Not isect Is Nothing Then
Target.Value = IIf(Z = "", "ü", "")
End If
plage = "S24:S43"
Set isect = Application.Intersect(Target, Range(plage))
If Not isect Is Nothing Then
Target.Value = IIf(Z = "", "ü", "")
End If
plage = "Q45:Q48"
Set isect = Application.Intersect(Target, Range(plage))
If Not isect Is Nothing Then
Target.Value = IIf(Z = "", "ü", "")
End If
plage = "R45:R48"
Set isect = Application.Intersect(Target, Range(plage))
If Not isect Is Nothing Then
Target.Value = IIf(Z = "", "ü", "")
End If
plage = "S45:S48"
Set isect = Application.Intersect(Target, Range(plage))
If Not isect Is Nothing Then
Target.Value = IIf(Z = "", "ü", "")
End If
End If

'If Target.Address = Range("d19").Address And Range("d19").Value > 10 Then
If Target.Address = Range("d19").MergeArea.Address And Range("d19").Value > 10 Then
Dim I
For I = 1 To 3 ' Loop 3 times.
Beep
'PlaySound ThisWorkbook.Path & "\0257", 0, 1
MsgBox "Attention valeur hors tolérance"
Next
End If

End Sub
 
Solution
Bonjour Dravol,
VB:
   plage = "h18"
   Set isect = Application.Intersect(Target, Range(plage))
   If Not isect Is Nothing Then
      Target = IIf(Z = "", "ü", "")
      Range("j18") = IIf(Target = "", "ü", "")
   End If
   plage = "j18"
   Set isect = Application.Intersect(Target, Range(plage))
   If Not isect Is Nothing Then
      Target = IIf(Z = "", "ü", "")
      Range("h18") = IIf(Target = "", "ü", "")
   End If
A+
Bonjour Dravol,
VB:
   plage = "h18"
   Set isect = Application.Intersect(Target, Range(plage))
   If Not isect Is Nothing Then
      Target = IIf(Z = "", "ü", "")
      Range("j18") = IIf(Target = "", "ü", "")
   End If
   plage = "j18"
   Set isect = Application.Intersect(Target, Range(plage))
   If Not isect Is Nothing Then
      Target = IIf(Z = "", "ü", "")
      Range("h18") = IIf(Target = "", "ü", "")
   End If
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Réponses
4
Affichages
223
Réponses
1
Affichages
348
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
317
Retour