Grand débutant :clic sur une cellule > action

alkazaar

XLDnaute Nouveau
Bonjour à tous,

Grand débutant en macro et vba je me lance aujourd'hui dans cette aventure.

Je suis parvenu a créer une macro pour faire un copier collé spécifique sur une feuille sur la base du code ci dessous mais je ne parviens pas à le faire déclencher lors d'un clic de souris sur une cellule spécifique d'une feuille.
J'ai trouvé cette commande mais je ne comprends pas comment combiner les deux :

"Exemple 1) on veut une action quand on Click sur la Cellule "A1" uniquement :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub"

Code que je souhaite déclencher au clic :

Dim DerLigne As Long
Sheets("CALCUL").Range("B11:F12").Copy
Sheets("Devis").Activate
DerLigne = Range("A65536").End(xlUp).Row + 1
Range("A" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("G11:K12").Copy
Sheets("Devis").Activate
DerLigne = Range("B65536").End(xlUp).Row + 1
Range("B" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("B15:F21").Copy
Sheets("Devis").Activate
DerLigne = Range("C65536").End(xlUp).Row + 1
Range("C" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("G15:K21").Copy
Sheets("Devis").Activate
DerLigne = Range("D65536").End(xlUp).Row + 1
Range("D" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues

Merci beaucoup de votre aide
Alkazaar
 

mutzik

XLDnaute Barbatruc
Re : Grand débutant :clic sur une cellule > action

bonjour
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DerLigne As LongIf Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Sheets("CALCUL").Range("B11:F12").Copy
Sheets("Devis").Activate
DerLigne = Range("A65536").End(xlUp).Row + 1
Range("A" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("G11:K12").Copy
Sheets("Devis").Activate
DerLigne = Range("B65536").End(xlUp).Row + 1
Range("B" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("B15:F21").Copy
Sheets("Devis").Activate
DerLigne = Range("C65536").End(xlUp).Row + 1
Range("C" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("G15:K21").Copy
Sheets("Devis").Activate
DerLigne = Range("D65536").End(xlUp).Row + 1
Range("D" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If
End Sub

Code que je souhaite déclencher au clic :
 

alkazaar

XLDnaute Nouveau
Re : Grand débutant :clic sur une cellule > action

Bonjour Bertrand,

Merci beaucoup pour ton aide, ma réponse est un peu tardive mais des impératifs professionnels m'ont un peu bloqués.

Malheureusement cela ne fonctionne pas :

Il me surligne le "Not" avec le message suivant
"Erreur de compilation : attendu fin d'instruction"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DerLigne As LongIf Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Sheets("CALCUL").Range("B11:F12").Copy
Sheets("Devis").Activate
DerLigne = Range("A65536").End(xlUp).Row + 1
Range("A" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("G11:K12").Copy
Sheets("Devis").Activate
DerLigne = Range("B65536").End(xlUp).Row + 1
Range("B" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("B15:F21").Copy
Sheets("Devis").Activate
DerLigne = Range("C65536").End(xlUp).Row + 1
Range("C" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("G15:K21").Copy
Sheets("Devis").Activate
DerLigne = Range("D65536").End(xlUp).Row + 1
Range("D" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If
End Sub

Merci de votre aide
Alkazaar
 

JCGL

XLDnaute Barbatruc
Re : Grand débutant :clic sur une cellule > action

Bonjour à tous,

Le même avec les balises codes :

Code:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DerLigne As Long
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
Sheets("CALCUL").Range("B11:F12").Copy
Sheets("Devis").Activate
DerLigne = Range("A65536").End(xlUp).Row + 1
Range("A" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("G11:K12").Copy
Sheets("Devis").Activate
DerLigne = Range("B65536").End(xlUp).Row + 1
Range("B" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("B15:F21").Copy
Sheets("Devis").Activate
DerLigne = Range("C65536").End(xlUp).Row + 1
Range("C" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
Sheets("CALCUL").Range("G15:K21").Copy
Sheets("Devis").Activate
DerLigne = Range("D65536").End(xlUp).Row + 1
Range("D" & DerLigne).Select
Selection.PasteSpecial Paste:=xlPasteValues
End If
End Sub

A+ à tous
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 865
Membres
103 979
dernier inscrit
imed