Renvoi date si clic

Résolu
Bonjour,


j'ai une colonne c ou sont rentrées des dates (--/--/--) (60 lignes )
je voudrais, en cliquant sur une date quelconque de la colonne c , que la date trouvée soit recopiée directement dans une autre cellule j2 en VBA , Attention je suis un débutant

Dans l'attente merci à vous

4 réponses

  1. Salut,

    Tu peux le faire uniquement en VBA mais soit en double clic ou clic droit par exemple

    Fais un clic droit sur l'onglet de la feuille concernée/Visualiser le code et colles un des deux codes ci-dessous

    Ce code copiera la valeur de la Colonne C sur la colonne J sur un clic droit en C

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    If Not Intersect([C:C], Target) Is Nothing Then
    If Target <> "" Then
    Target.Copy
    Target(0, 8).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    End If
    End If
    End Sub

    Ce code copiera la valeur de la Colonne C sur la colonne J sur un double clic en C

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    On Error Resume Next
    If Not Intersect([C:C], Target) Is Nothing Then
    If Target <> "" Then
    Target.Copy
    Target(0, 8).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    End If
    End If
    End Sub
    0
    1. Merci Mike

      Ce code me permettra d'avancer .
      Je vais également en profiter pour le "décomposer , trifouiller" pour en comprendre les subtilités
      Encore une fois merci
      0
      1. Re,

        Un petit coup de main pour comprendre le code

        la ligne ci dessous détermine le mode d'action pris en compte, ici clic droit sur la feuille lance la procédure

        Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)

        cette ligne gére les erreurs, exemple si tu effaces le contenu de plusieurs cellules en même temps, ce qui n'est pas prévu dans la procédure le code se met en erreur et bloque la macro. avec cette ligne le code s'arrête sans blocage

        On Error Resume Next

        Cette ligne permet de limiter la procédure à une plage, dans ce code à l'ensemble de la colonne C

        If Not Intersect([C:C], Target) Is Nothing Then

        Cette ligne, est la ligne conditionnelle, si cellule active est différente de rien alors

        If Target <> "" Then

        Cellule active Edition/Copier

        Target.Copy

        Sélectionne la huitième cellule à droite à partir de la cellule active

        Target(0, 8).Select

        Edition/Coller

        ActiveSheet.Paste

        Désactive le mode Copier

        Application.CutCopyMode = False

        pour terminer deux fins si et fin de procédure

        End If
        End If
        End Sub
        A+
        Mike-31

        Une période d'échec est un moment rêvé pour semer les graines du savoir.
        0
        1. C'est avec plaisir que je prends note du denier message.
          c'est de cette façon que l'on avance , pas à pas .

          Bonne journée
          A+
          0