Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Gil_Se

XLDnaute Occasionnel
Bonjour à tous.
Je n'ai pas trouvé sur le forum la réponse à ma recherche:
Je souhaite dans une cellule fixe, la valeur d'une autre cellule d'une plage sur laquelle on vient de cliquer.
Comme je ne suis vraiment pas sur d'être clair, je vous joint un exemple.
Merci d'avance pour vos réponses.
Gilles
 

Pièces jointes

  • Gilse041211.xls
    13.5 KB · Affichages: 59

jp14

XLDnaute Barbatruc
Re : Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Bonjour
Ci dessous une macro évènementielle, répondra au problème
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
If Target.Column > 4 Then Exit Sub [COLOR="lime"]'a supprimer si nécessaire[/COLOR]
With ActiveSheet.Name
If Not Intersect(Target, Range("a5:a10")) Is Nothing Then [COLOR="lime"]' a modifier en fonction des zones[/COLOR]
    Range("f2").Value = Target.Value
End If
If Not Intersect(Target, Range("c10:c15")) Is Nothing Then [COLOR="lime"]' a modifier en fonction des zones[/COLOR]
    Range("f2").Value = Target.Value
End If
End With
End Sub
A tester
JP
 
Dernière édition:

Gil_Se

XLDnaute Occasionnel
Re : Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Bonjour et merci jp34.
La macro évènementielle se déclenche, si j'ai bien compris, avec un double clic ce que je ne souhaite pas. Le fichier envoyé est vraiment un exemple et j'ai dans, le véritable fichier, une multitude de cellules qui doivent déclencher cette fonction.
Cette macro ne correspond pas vraiment à ma demande mais merci d'y avoir consacré du temps.
Gilles
 

jp14

XLDnaute Barbatruc
Re : Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Bonjour

Quel est l'évènement qui doit déclencher l'action ?
Concernant les autre plages il suffit de modifier la plage
If Not Intersect(Target, Range("c10:c15")) Is Nothing Then '


JP
 

Gil_Se

XLDnaute Occasionnel
Re : Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Re
Un simple clic doit déclencher la macro.
Et dans le "véritable" fichier, j'ai une soixantaine de cellules réparties qui doivent déclencher cette macro. Ne peut-on éviter de recopier 60 fois la ligne de commande ? Et à quoi servent les 1ères lignes:
If Target.Count > 1 Then Exit Sub
If Target.Column > 4 Then Exit Sub 'a supprimer si nécessaire
With ActiveSheet.Name



Gilles
 
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Bonjour

Les deux options sont :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Le code ci dessous évite de lancer la macro si on à sélectionné plus d'une colonne et si on se trouve au delà de la quatrième colonne.
Ce code n'est pas obligatoire.
If Target.Count > 1 Then Exit Sub
If Target.Column > 4 Then Exit Sub 'a supprimer si nécessaire
Dans ce cas de figure les lignes suivante peuvent être supprimées
With ActiveSheet.Name
End With.

JP
 

Gil_Se

XLDnaute Occasionnel
Re : Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Re
On ne peut donc pas déclencher la macro d'un simple clic ?
Je pensais, mais je suis loin d'être un expert, se servir de:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Gilles
 

jp14

XLDnaute Barbatruc
Re : Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Bonsoir

Re
On ne peut donc pas déclencher la macro d'un simple clic ?
Je pensais, mais je suis loin d'être un expert, se servir de:
Private Sub Worksheet_(ByVal Target As Range)

Gilles

Pour comprendre les évènements, il faut surligner le code par exemple "SelectionChange" et touche "F1".

"Cet événement survient lorsque la sélection change dans une feuille de calcul." Target Nouvelle plage sélectionnée.

A priori cela devrait marcher, le code de la procédure est toujours le même.

JP
 

Efgé

XLDnaute Barbatruc
Re : Copie du contenu d'une cellule qu'on vient de cliquer dans une autre

Bonjour à tous,
Une proposition:
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Application.Union(Range("A5:A16"), Range("C10:C15"))) Is Nothing And Target.Count = 1 Then Range("F2").Value = Target.Value
End Sub
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 326
Messages
2 087 312
Membres
103 513
dernier inscrit
adel.01.01.80.19