Microsoft 365 Ajouter une condition dans une VBA

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 !

Nathan027

XLDnaute Junior
Bonjour à toutes et à tous

Pensez vous qu'il est possible de bloquer ce code quand il est appliqué dans une cellule ou il y a déjà une formule ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
temp = Array("X", "")
If Not Application.Intersect(Target, Range("bk11:fl2000")) Is Nothing Then
With Target
p = Application.Match(Target, temp, 0)
If Not IsError(p) Then
If p = UBound(temp) + 1 Then p = 0
Else
p = 0
End If
Target = temp(p)
Cancel = True
End With
End If
End Sub


Merci de votre aide 🙂
 
Solution
Bonjour à toutes et à tous

Pensez vous qu'il est possible de bloquer ce code quand il est appliqué dans une cellule ou il y a déjà une formule ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
temp = Array("X", "")
If Not Application.Intersect(Target, Range("bk11:fl2000")) Is Nothing Then
With Target
p = Application.Match(Target, temp, 0)
If Not IsError(p) Then
If p = UBound(temp) + 1 Then p = 0
Else
p = 0
End If
Target = temp(p)
Cancel = True
End With
End If
End Sub


Merci de votre aide 🙂
Bonjour,
Essaye comme ceci
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    If...
Bonjour à toutes et à tous

Pensez vous qu'il est possible de bloquer ce code quand il est appliqué dans une cellule ou il y a déjà une formule ?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
temp = Array("X", "")
If Not Application.Intersect(Target, Range("bk11:fl2000")) Is Nothing Then
With Target
p = Application.Match(Target, temp, 0)
If Not IsError(p) Then
If p = UBound(temp) + 1 Then p = 0
Else
p = 0
End If
Target = temp(p)
Cancel = True
End With
End If
End Sub


Merci de votre aide 🙂
Bonjour,
Essaye comme ceci
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    If Application.Intersect(Target, Range("bk11:fl2000")) Is Nothing Then Exit Sub
    If Application.IsFormula(Target) Then Exit Sub
    Target.Value = IIf(UCase(Target) = "X", "", "X")
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

  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
245
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
230
Réponses
4
Affichages
142
Réponses
1
Affichages
318
Réponses
4
Affichages
358
Retour