Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Répétition de Or Target.Column

Format

XLDnaute Nouveau
Bonjour,

Puis-je éviter le "Or Target.Column = " dans la procédure suivante ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 3 Or Target.Column = 4 Or Target.Column = 5 Or Target.Column = 6 Or Target.Column = 7 Or Target.Column = 8 Or Target.Column = 9 Or Target.Column = 10 Then
Target.Value = "X"
Cancel = True
End If
End Sub

Merci de votre réponse.
 

porcinet82

XLDnaute Barbatruc
Re : Répétition de Or Target.Column

Salut,

Comme ceci :
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Columns("C:J")) Is Nothing Then
Target.Value = "X"
Cancel = True
End If
End Sub

@+
 

doudo

XLDnaute Nouveau
Re : Répétition de Or Target.Column

Bonjour à tous!

Imaginons que nous voulons seulement les colonnes 3 et 6, est-il possible de s'en sortir avec du code similaire?

Merci!!

Doudo
 

Pierrot93

XLDnaute Barbatruc
Re : Répétition de Or Target.Column

Bonjour,

modifie peut être ainsi :
Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C:C,F:F")) Is Nothing Then
Target.Value = "X"
Cancel = True
End If
End Sub

bon après midi
@+
 

Pierrot93

XLDnaute Barbatruc
Re : Répétition de Or Target.Column

Re,

on pourrait également coder ainsi :
Code:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 3 And Target.Column <> 6 Then Exit Sub
Target.Value = "X"
Cancel = True
End Sub
 

doudo

XLDnaute Nouveau
Re : Répétition de Or Target.Column

Merci Pierrot, le message d'erreur apparaît aussi lors de la suppression du doublon mais je vais essayer d'y remédier

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <> 2 And Target.Column <> 4 Then Exit Sub



If Application.CountIf(Sheets("saisie_base").Range("CC21:CC" & [CC21].End(xlDown).Row), Cells(Target.Row, 2) & Cells(Target.Row, 4)) > 1 Then
MsgBox "Attention : le numéro de 'sous plan' saisi est déjà existant pour ce budget!"
End If

End Sub


Bonne fin de journée
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…