Info sur macro double clic

tactic6

XLDnaute Impliqué
Bonjour le forum et tous les autres

je voudrais une petite éclaircie sur ma macro double clic:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
If MsgBox("confirmez vous le transfert de cet article", vbYesNo) = vbYes Then
ActiveSheet.Unprotect
Dim rang As Long, mysh As Object, nomcl As Long
Cancel = True
Set mysh = Sheets("liste des articles")
If Target.Column = 1 Then 'double click dans la 1er colonne
With Sheets("SAISIE")
rang = .Range("C53").End(xlUp).Row + 1
.Cells(rang, 2) = mysh.Cells(Target.Row, 1)
.Cells(rang, 3) = mysh.Cells(Target.Row, 2)
.Cells(rang, 9) = Target.Offset(0, 3)
.Cells(rang, 11) = Target.Offset(0, 2)
End With
End If
Set mysh = Nothing 'vide la variable
ActiveSheet.Protect
MsgBox "Article transferé !"
End If
End Sub

Comment faire pour ne pas avoir le double clic sur les colonnes autres que la 1
(en fait la macro se lance mais ne fait aucune copie) grace à la ligne de commande
If Target.Column = 1 Then 'double click dans la 1er colonne

Merci
 

CBernardT

XLDnaute Barbatruc
Re : Info sur macro double clic

Bonjour tactic6,

Une petite modification de code si j'ai bien compris ton problème !

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
With Sheets("SAISIE")
If Target.Column = 1 Then 'double click dans la 1er colonne
If MsgBox("confirmez vous le transfert de cet article", vbYesNo) = vbYes Then
ActiveSheet.Unprotect
Dim rang As Long, mysh As Object, nomcl As Long
Cancel = True
Set mysh = Sheets("liste des articles")
rang = .Range("C53").End(xlUp).Row + 1
.Cells(rang, 2) = mysh.Cells(Target.Row, 1)
.Cells(rang, 3) = mysh.Cells(Target.Row, 2)
.Cells(rang, 9) = Target.Offset(0, 3)
.Cells(rang, 11) = Target.Offset(0, 2)
Set mysh = Nothing 'vide la variable
ActiveSheet.Protect
MsgBox "Article transferé !"
End If
End If
End With
End Sub

Cordialement

Bernard
 

fanfan38

XLDnaute Barbatruc
Re : Info sur macro double clic

Bonjour
1° la commande dim se met en début de macro

pour ton problème
if Target.Column <>1 then exit sub

If MsgBox("confirmez vous le transfert de cet article", vbYesNo) = vbno Then exit sub

A+ François
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
160
Réponses
0
Affichages
137

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa