supprimer selection en X si sélectionné en Z

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 !

papy 73 ans

XLDnaute Occasionnel
Bonjour le forum,
Je souhaiterai dans le code ci-dessous, apporter une modification, à savoir :
Un double clic en X2 sélectionne tout le champ nommé idem en Z2
Ce que je voudrais c'est, si le champ X est sélectionné, que les sélections manuelles en colonne Z efface la sélection existante en colonne X même ligne
En vous remerciant.

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("X2, Z2")) Is Nothing Then
  If Target.Address = "$X$2" Then
      If Target.Value <> "" Then
          Range("SelDestMailCc") = ""
      Else
          Range("SelDestMailCc").Value = "X"
          Range("SelDestMailCci").Value = ""
      End If
  Else
    If Target.Value <> "" Then
          Range("SelDestMailCci") = ""
      Else
          Range("SelDestMailCci").Value = "X"
          Range("SelDestMailCc").Value = ""
    End If
  End If
End If
Cancel = True
End Sub
 
Dernière édition:
Re
avec ces codes..
est ce que une ligne est forcément en Cc OU Cci ??
si je comprend bien, double clic X2==> sélection de tout le monde en Cc
double clic en Z2 ==> tout le monde en Cci

après avoir sélectionné X2== > tu souhaites basculer manuellement quelques uns en Cci??

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
If Target.Column <> 24 And Target.Column <> 26 Then
    Cancel = True
    Exit Sub
End If
Select Case Target.Address
    Case "$X$2"
        If Target.Value <> "" Then
            Range("SelDestMailCc") = ""
        Else
            Range("SelDestMailCc").Value = "X"
            Range("SelDestMailCci").Value = ""
        End If
    Case "$Z$2"
        If Target.Value <> "" Then
            Range("SelDestMailCci") = ""
        Else
            Range("SelDestMailCci").Value = "X"
            Range("SelDestMailCc").Value = ""
        End If
  End Select
Cancel = True
Application.EnableEvents = True
End Sub



Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("SelDestMailCci")) Is Nothing Then Exit Sub
If Target.Column = 26 Then
    Target.Offset(0, -2) = ""
End If
End Sub
 
sinon, il y a ca
double clic sur X2 ou Z2 pour sélectionner toute la colonne
double clic dans l'une des colonnes==> bascule la ligne entre Cc et Cci

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
If Target.Column <> 24 And Target.Column <> 26 Then
    Cancel = True
    Exit Sub
End If
Select Case Target.Address
    Case "$X$2"
            Range("SelDestMailCc") = "X"
            Range("SelDestMailCci") = ""
    Case "$Z$2"
            Range("SelDestMailCc") = ""
            Range("SelDestMailCci") = "X"
       
End Select
If Not Intersect(Target, Range("SelDestMailCc")) Is Nothing Then
        Target.Offset(0, 2) = IIf(Target = "X", "X", "")
        Target = IIf(Target = "X", "", "X")
End If

If Not Intersect(Target, Range("SelDestMailCci")) Is Nothing Then
        Target.Offset(0, -2) = IIf(Target = "X", "X", "")
        Target = IIf(Target = "X", "", "X")
End If


Cancel = True
Application.EnableEvents = True
End Sub
 
- 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

Réponses
9
Affichages
475
Réponses
2
Affichages
491
Réponses
4
Affichages
685
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Retour