Option Explicit Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Dim MaPlage Set MaPlage = Me.Range("B2:C8") If Intersect(Target, MaPlage) Is Nothing Then Exit Sub 'donc avec menu contextuel Cancel = True Call MaMacro End Sub Sub MaMacro() MsgBox "Pas de menu contextuel" End Sub
= Cells(1,2)écrire
= Worksheets(1).Cells(1,2).Value;
Set MaPlage = Me.Range("B2:C8");
Withet
End With;
Sheets(1).Range("A1")écrire
Workheets(1).Range("A1"),
.Value = .Value
Option Explicit Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) ' Clic DROIT Dim Lg As Long Dim r As Range Lg = Me.Range("B" & Rows.Count).End(xlUp).Row Set r = Intersect(Target, Me.Range("H2:H" & Lg)) If r Is Nothing Or Target.Columns.Count > 1 Then Exit Sub Cancel = True r.Value = Me.Range("I1").Value End Sub
Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
'*** Clic DROIT
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Lg
If Target.Count > 1 Then Exit Sub
Lg = Range("B" & Rows.Count).End(xlUp).Row - 1
If Not Intersect(Target, Range("H2:H" & Lg)) Is Nothing Then
Target.Value = Range("I1")
End If
End Sub
'''Macro empèche d'afficher le menu contextuel
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim MaPlage
Set MaPlage = Me.Range("B2:C8")
If Intersect(Target, MaPlage) Is Nothing Then Exit Sub 'donc avec menu contextuel
Cancel = True
Call MaMacro
End Sub
Sub MaMacro()
MsgBox "Pas de menu contextuel"
End Sub
Sub InsererUneLigne() ActiveCell.EntireRow.Insert Shift:=xlDown On Error Resume Next ActiveCell.Offset(-1, 0).EntireRow.Copy Cells(ActiveCell.Row, 1) ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants, xlNumbers + _ xlTextValues + _ xlLogical + _ xlErrors).ClearContents On Error GoTo 0 End Sub
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) ' Sur clic droit en colonne H, insère/supprime la valeur choisie en I1 (avec la liste déroulante). ' Dim Lg As Long Dim R As Range Dim C As Range If Target.Columns.Count > 1 Then Exit Sub Lg = Me.Range("B" & Rows.Count).End(xlUp).Row Set R = Intersect(Target, Me.Range("H2:H" & Lg)) If Not R Is Nothing Then Cancel = True For Each C In R.Cells If C.Value = "" Then 'Copier le mot choisi vers la ou les cellules vides sélectionnées. R.Value = Me.Range("I1").Value Else 'Effacer la ou les cellules remplies sélectionnées. R.Value = "" End If Next C End If Set R = Intersect(Target, Me.Range("A2:A" & Lg)) If Not R Is Nothing Then Cancel = True ' Ecrire la date ' .... End If End Sub
22 août 2018 à 08:01