Renvoi date si clic

Résolu
faroka -  
 faroka -
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. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  2. faroka
     
    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
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    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
  4. faroka
     
    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