OVH Cloud OVH Cloud

BeforeDoubleClick ! Et pourquoi pas BeforeSimpleClick ?

5 réponses
Avatar
j-pascal
Bonsoir à tous,

A partir de cet échantillon de macro, pourriez-vous me dire s'il est
possible d'arriver au même résultat en passant par un simple clic ? J'ai
fait qq rech mais j'ai seulement trouvé le clic droit en simple clic, ce qui
ne m'arrange pas ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
Target.Offset(0, 2).Value = Target.Value
End If
Cancel = True
End Sub

Merci d'avance,

JP

5 réponses

Avatar
michdenis
Bonjour J-Pascal,

Essaie ceci, tu devrais t'en reprocher !

'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
If Target <> "" Then
Target.Offset(0, 2).Value = Target.Value
End If
End If

End Sub
'--------------------------


Salutations!



"j-pascal" a écrit dans le message de news:
Bonsoir à tous,

A partir de cet échantillon de macro, pourriez-vous me dire s'il est
possible d'arriver au même résultat en passant par un simple clic ? J'ai
fait qq rech mais j'ai seulement trouvé le clic droit en simple clic, ce qui
ne m'arrange pas ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
Target.Offset(0, 2).Value = Target.Value
End If
Cancel = True
End Sub

Merci d'avance,

JP
Avatar
j-pascal
Bonsoir Mich,

Merci pour ta réponse.
En fait, je voudrais, en cliquant sur une cellule de la colonne 1 que son
contenu se copie dans la colonne 3 : et qu'en recliquant sur cette même
cellule, le contenu de la colonne 3 devienne vide...

J'ai fait ceci :

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then

If Target.Offset(0, 2).Value = "" Then
Target.Offset(0, 2).Value = Target.Value

Else
Target.Offset(0, 2).Value = ""


End If
End If

End Sub

Ca ne marche pas ; ou plutôt, ça marche mais à condition de cliquer entre
deux, sur une cellule d'une autre ligne (dans la même colonne...) !

Je rame :-)

A+ ;-)

JP




"michdenis" a écrit dans le message de news:
%
Bonjour J-Pascal,

Essaie ceci, tu devrais t'en reprocher !

'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
If Target <> "" Then
Target.Offset(0, 2).Value = Target.Value
End If
End If

End Sub
'--------------------------


Salutations!



"j-pascal" a écrit dans le message de news:

Bonsoir à tous,

A partir de cet échantillon de macro, pourriez-vous me dire s'il est
possible d'arriver au même résultat en passant par un simple clic ? J'ai
fait qq rech mais j'ai seulement trouvé le clic droit en simple clic, ce
qui
ne m'arrange pas ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
Target.Offset(0, 2).Value = Target.Value
End If
Cancel = True
End Sub

Merci d'avance,

JP




Avatar
michdenis
Et ceci ,

'----------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
Application.EnableEvents = False
If Target.Offset(0, 2).Value = Target.Value Then
Target.Offset(0, 2).Value = ""
Else
Target.Offset(0, 2).Value = Target
End If
Application.EnableEvents = True
End If

End Sub
'----------------------


Salutations!




"j-pascal" a écrit dans le message de news:
Bonsoir Mich,

Merci pour ta réponse.
En fait, je voudrais, en cliquant sur une cellule de la colonne 1 que son
contenu se copie dans la colonne 3 : et qu'en recliquant sur cette même
cellule, le contenu de la colonne 3 devienne vide...

J'ai fait ceci :

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then

If Target.Offset(0, 2).Value = "" Then
Target.Offset(0, 2).Value = Target.Value

Else
Target.Offset(0, 2).Value = ""


End If
End If

End Sub

Ca ne marche pas ; ou plutôt, ça marche mais à condition de cliquer entre
deux, sur une cellule d'une autre ligne (dans la même colonne...) !

Je rame :-)

A+ ;-)

JP




"michdenis" a écrit dans le message de news:
%
Bonjour J-Pascal,

Essaie ceci, tu devrais t'en reprocher !

'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
If Target <> "" Then
Target.Offset(0, 2).Value = Target.Value
End If
End If

End Sub
'--------------------------


Salutations!



"j-pascal" a écrit dans le message de news:

Bonsoir à tous,

A partir de cet échantillon de macro, pourriez-vous me dire s'il est
possible d'arriver au même résultat en passant par un simple clic ? J'ai
fait qq rech mais j'ai seulement trouvé le clic droit en simple clic, ce
qui
ne m'arrange pas ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As
Boolean)
If Target.Column = 1 Then
Target.Offset(0, 2).Value = Target.Value
End If
Cancel = True
End Sub

Merci d'avance,

JP




Avatar
j-pascal
Bonsoir Mich,
Merci pour cette réponse si rapide :-)
Le résultat est malheureusement strictement identique à la macro que je t'ai
envoyée !
Sauf erreur de ma part, elle a les mêmes effets... ;-(
A+
JP

michdenis wrote:
Et ceci ,

'----------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
Application.EnableEvents = False
If Target.Offset(0, 2).Value = Target.Value Then
Target.Offset(0, 2).Value = ""
Else
Target.Offset(0, 2).Value = Target
End If
Application.EnableEvents = True
End If

End Sub
'----------------------


Salutations!




"j-pascal" a écrit dans le message de news:
Bonsoir Mich,

Merci pour ta réponse.
En fait, je voudrais, en cliquant sur une cellule de la colonne 1 que
son
contenu se copie dans la colonne 3 : et qu'en recliquant sur cette
même
cellule, le contenu de la colonne 3 devienne vide...

J'ai fait ceci :

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then

If Target.Offset(0, 2).Value = "" Then
Target.Offset(0, 2).Value = Target.Value

Else
Target.Offset(0, 2).Value = ""


End If
End If

End Sub

Ca ne marche pas ; ou plutôt, ça marche mais à condition de cliquer
entre
deux, sur une cellule d'une autre ligne (dans la même colonne...) !

Je rame :-)

A+ ;-)

JP




"michdenis" a écrit dans le message de news:
%
Bonjour J-Pascal,

Essaie ceci, tu devrais t'en reprocher !

'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
If Target <> "" Then
Target.Offset(0, 2).Value = Target.Value
End If
End If

End Sub
'--------------------------


Salutations!



"j-pascal" a écrit dans le message de news:

Bonsoir à tous,

A partir de cet échantillon de macro, pourriez-vous me dire s'il est
possible d'arriver au même résultat en passant par un simple clic ?
J'ai fait qq rech mais j'ai seulement trouvé le clic droit en simple
clic, ce qui
ne m'arrange pas ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,
Cancel As Boolean)
If Target.Column = 1 Then
Target.Offset(0, 2).Value = Target.Value
End If
Cancel = True
End Sub

Merci d'avance,

JP




Avatar
j-pascal
Bonjour Mich.,
Merci pour tes efforts ; je m'en doutais un peu, mais ta réponse me le
confirme :-) Je me demande quand même pourquoi le BeforeSimpleClick n'a pas
été prévu ;-) ...
JP

michdenis wrote:
Bonjour J-Pascal,

Sur simple clic, lorsque la cellule est déjà sélectionnée,
l'événement ne se déclenche pas à nouveau. Je ne connais pas
d'événement de la feuille qui fait ce que tu demandes ...tu dois
utiliser le double-clic et c'est ce que tu avais déjà.


Salutations!


"j-pascal" a écrit dans le message de news:
%
Bonsoir Mich,
Merci pour cette réponse si rapide :-)
Le résultat est malheureusement strictement identique à la macro que
je t'ai
envoyée !
Sauf erreur de ma part, elle a les mêmes effets... ;-(
A+
JP

michdenis wrote:
Et ceci ,

'----------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
Application.EnableEvents = False
If Target.Offset(0, 2).Value = Target.Value Then
Target.Offset(0, 2).Value = ""
Else
Target.Offset(0, 2).Value = Target
End If
Application.EnableEvents = True
End If

End Sub
'----------------------


Salutations!




"j-pascal" a écrit dans le message de news:
Bonsoir Mich,

Merci pour ta réponse.
En fait, je voudrais, en cliquant sur une cellule de la colonne 1 que
son
contenu se copie dans la colonne 3 : et qu'en recliquant sur cette
même
cellule, le contenu de la colonne 3 devienne vide...

J'ai fait ceci :

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then

If Target.Offset(0, 2).Value = "" Then
Target.Offset(0, 2).Value = Target.Value

Else
Target.Offset(0, 2).Value = ""


End If
End If

End Sub

Ca ne marche pas ; ou plutôt, ça marche mais à condition de cliquer
entre
deux, sur une cellule d'une autre ligne (dans la même colonne...) !

Je rame :-)

A+ ;-)

JP




"michdenis" a écrit dans le message de news:
%
Bonjour J-Pascal,

Essaie ceci, tu devrais t'en reprocher !

'--------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
If Target <> "" Then
Target.Offset(0, 2).Value = Target.Value
End If
End If

End Sub
'--------------------------


Salutations!



"j-pascal" a écrit dans le message de
news:
Bonsoir à tous,

A partir de cet échantillon de macro, pourriez-vous me dire s'il est
possible d'arriver au même résultat en passant par un simple clic ?
J'ai fait qq rech mais j'ai seulement trouvé le clic droit en simple
clic, ce qui
ne m'arrange pas ...

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,
Cancel As Boolean)
If Target.Column = 1 Then
Target.Offset(0, 2).Value = Target.Value
End If
Cancel = True
End Sub

Merci d'avance,

JP