Renvoi date si clic

Résolu/Fermé
faroka - 4 déc. 2010 à 14:15
 faroka - 6 déc. 2010 à 07:36
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

Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
5 déc. 2010 à 00:16
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
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
Mike-31 Messages postés 18352 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 décembre 2024 5 110
Modifié par Mike-31 le 5/12/2010 à 13:53
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
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