Fonction ou macro VBA Excel lancée par clic

[Résolu/Fermé]
Signaler
Messages postés
1575
Date d'inscription
jeudi 3 décembre 2009
Statut
Membre
Dernière intervention
21 septembre 2013
-
Messages postés
16520
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
26 septembre 2021
-
Bonjour,

J'ai un petit problème qui est peut-être simple, mais que je n'arrive pas à solutionner:

Je voudrais copier, en cliquant dessus, le contenu d'une cellule dans une autre cellule.

au cas où, la zone de sélection serait dans la plage "A2:D40",
et le résultat à copier en "J30"

Je voudrais savoir s'il est possible de faire ça avec une simple fonction.
Sinon, en lançant une macro...


Je vous remercie d'avance pour votre aide.


12 réponses

Messages postés
15988
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 septembre 2021
1 536
Bonjour,

Code a mettre dans le VBA de votre feuille

Ouvrir VBA par Alt+F11
doubleclick sur la feuille desiree
click dans fenetre a droite

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Application.Intersect(Target, Range("A2:D40")) Is Nothing Then
    Range("J30") = Target
  End If
End Sub

Des que cliquer sur une cellule de votre zone A2:D40 sa valeur est copiee dans J30

Bonne suite
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
15988
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 septembre 2021
1 536
Re,

ex:
- sélection de A14; ou B14; ou C14; ou D14
- copie de D14 en J30

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A2:D40")) Is Nothing Then
Range("J30") = Range("D" & Target.Row)
End If
End Sub

A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 42674 internautes nous ont dit merci ce mois-ci

Messages postés
1575
Date d'inscription
jeudi 3 décembre 2009
Statut
Membre
Dernière intervention
21 septembre 2013
566
Merci beaucoup !!
Ça marche très bien !!!

Est-ce qu'il y aurait aussi moyen de récupérer le n° de la ligne et de la colonne sélectionnée ?

J'espère ne pas abuser...

Merci encore
Messages postés
16520
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
26 septembre 2021
3 224
Bonjour
par une macro événementielle

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
If Not Intersect(Target, Range("A2:D40")) Is Nothing Then Range("F30") = Target 
End Sub 


pour installer
copier cette macrp
clic droit sur le nom d'onglet
visualiser le code
coller

Michel
Messages postés
16520
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
26 septembre 2021
3 224
excusez moi, je n'avais pas rafraichi !
Messages postés
15988
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 septembre 2021
1 536
Bonjour michel_m
ca plane?
Messages postés
16520
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
26 septembre 2021
3 224
que veux tu, je n'ai pas ta rapidité proverviable !
:-)
Messages postés
15988
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 septembre 2021
1 536
Re,

Est-ce qu'il y aurait aussi moyen de récupérer le n° de la ligne et de la colonne sélectionnée ?

Et je met cela ou??
Messages postés
1575
Date d'inscription
jeudi 3 décembre 2009
Statut
Membre
Dernière intervention
21 septembre 2013
566
Merci mais je crois voir la même macro que tout-à l'heure.

Ce que je voudrais, c'est extrapoler et récupérer simplement le n° de la ligne et copier la cellule "D" & n° de ligne.
Messages postés
1575
Date d'inscription
jeudi 3 décembre 2009
Statut
Membre
Dernière intervention
21 septembre 2013
566
alors, je voudrais, en cliquant entre A2 et D40, copier en J30 la bonne ligne mais avec toujours la colonne D
Messages postés
15988
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 septembre 2021
1 536
Re,

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Not Application.Intersect(Target, Range("A2:D40")) Is Nothing Then
    Range("J30") = Target
    Range("D" & Target.Row) = Target.Row
    Colonne = Target.Column
  End If
End Sub


Bonne suite
Messages postés
1575
Date d'inscription
jeudi 3 décembre 2009
Statut
Membre
Dernière intervention
21 septembre 2013
566
alors là, ça me copie bien la colonne D + n° de ligne en J30, mais après, ça me met "0 " + n° de ligne dans ma cellule D + n° de ligne

Ex. de ce que je voudrais:

- sélection de A14; ou B14; ou C14; ou D14
- copie de D14 en J30
Messages postés
15988
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
27 septembre 2021
1 536
Re,
Ce n'est pas ce que vous avez demander au depart!!!!!!!!!
Messages postés
1575
Date d'inscription
jeudi 3 décembre 2009
Statut
Membre
Dernière intervention
21 septembre 2013
566
oui pardon, je n'ai pas été assez précis, c'est vrai que ça me semblait évident, mais ça ne l'était pas forcément
Messages postés
1575
Date d'inscription
jeudi 3 décembre 2009
Statut
Membre
Dernière intervention
21 septembre 2013
566
Merci beaucoup, ça marche !!!

en attendant les réponses, j'essayais de faire marcher ça, et je commençais un peu à m'approcher de votre dernière formule.

Excusez-moi encore pour ce manque de précision, et encore merci (à vous 2).