Info sur macro double clic

  • Initiateur de la discussion Initiateur de la discussion tactic6
  • Date de début Date de début

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 !

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
 
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
 
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:
- 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
4
Affichages
166
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
280
Réponses
4
Affichages
513
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
94
Retour