Fonction ou macro VBA Excel lancée par clic

Résolu
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

  1. 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
    1. 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
      1. 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
        0
        1. Contributeur
          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
          0
          1. Contributeur
            excusez moi, je n'avais pas rafraichi !
            0
          2. Bonjour michel_m
            ca plane?
            0
          3. Contributeur
            que veux tu, je n'ai pas ta rapidité proverviable !
            :-)
            0
        2. 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??
          0
          1. 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.
            0
            1. alors, je voudrais, en cliquant entre A2 et D40, copier en J30 la bonne ligne mais avec toujours la colonne D
              0
              1. 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
                0
                1. 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
                  0
                  1. Re,
                    Ce n'est pas ce que vous avez demander au depart!!!!!!!!!
                    0
                    1. 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
                      0
                      1. 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).
                        0