Renvoi date si clic
Résolu/Fermé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
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
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
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
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
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
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.
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.