Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Simuler un triple click

  • Initiateur de la discussion Initiateur de la discussion MJ13
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MJ13

XLDnaute Barbatruc
Bonjour à tous

Dans les évênements, on trouve le click, le Dblclick, parfois right_click.
Mais ne pourrait-on pas simuler le triple click pour lancer une macro (exemple par rapport a un double click qui lancerait une macro de tri ascendant et le triple click pour un tri descendant).

Merci si vous avez des idées.
 
Re : Simuler un triple click

Re Jean Marie

Merci pour ces liens. Mais cela me paraît assez compliqué.

Je joins un fichier pour mieux comprendre.

On pourait aussi faire un double click affiche ok1, un autre double click en moins de 2 secondes pour afficher ok2. Et si on attend plus de 2 secondes, on redémarre sur ok1 au prochain double click.

Merci à tous pour ce que l'on pourrait appeler un challenge.
 

Pièces jointes

Re : Simuler un triple click

Bonjour MJ13, re Staple,

Ci-joint un essai avec 1 ou 2 doubles clics en 2 secondes.

Les macros sont en Feuil1 et dans le module.

Edit : enregistrer d'abord le classeur sur le bureau...

A+
 

Pièces jointes

Dernière édition:
Re : Simuler un triple click

Bonsoir MJ13, Staple1600, Job75, le Forum,

Une autre tentative, toujours sur le même principe mais en s'aidant un peu de l'Api Windows...

Code:
[COLOR=GRAY][B][I]DANS LE MODULE DE CODE DE LA FEUILLE[/I][/B][/COLOR]

[COLOR=NAVY]Option Explicit[/COLOR]
[COLOR=GREEN]'myDearFriend!  -  www.mdf-xlpages.com[/COLOR]

[COLOR=NAVY]Private Declare Function[/COLOR] GetTickCount [COLOR=NAVY]Lib[/COLOR] "Kernel32" () [COLOR=NAVY]As Long[/COLOR]         [COLOR=GREEN]'Temps écoulé (millisecondes)[/COLOR]
[COLOR=NAVY]Private Declare Function[/COLOR] GetDoubleClickTime [COLOR=NAVY]Lib[/COLOR] "User32" () [COLOR=NAVY]As Long[/COLOR]  [COLOR=GREEN]'Durée du Dbl-Clic[/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] Worksheet_BeforeDoubleClick([COLOR=NAVY]ByVal[/COLOR] Target [COLOR=NAVY]As[/COLOR] Range, Cancel [COLOR=NAVY]As Boolean[/COLOR])
[COLOR=NAVY]Dim[/COLOR] T [COLOR=NAVY]As Long
Static[/COLOR] C [COLOR=NAVY]As Byte[/COLOR]
    Cancel = [COLOR=NAVY]True[/COLOR]
    C = C + 1
    T = GetTickCount
    [COLOR=NAVY]Do[/COLOR]
         DoEvents
    [COLOR=NAVY]Loop Until[/COLOR] (GetTickCount - T) > (GetDoubleClickTime * 1.2)  [COLOR=GREEN]'Coef 1.2 pour laisser le temps d'un 2ème Dbl-Clic[/COLOR]
    TraiteDblClick C
    C = 0
[COLOR=NAVY]End Sub[/COLOR]

[COLOR=NAVY]Private Sub[/COLOR] TraiteDblClick(N [COLOR=NAVY]As Byte[/COLOR])
    [COLOR=NAVY]If[/COLOR] N > 0 [COLOR=NAVY]Then[/COLOR] MsgBox "Ok" & [COLOR=NAVY]CStr[/COLOR](N)
[COLOR=NAVY]End Sub[/COLOR]
En étant rapide lors des double-clics ou en jouant éventuellement sur le coefficient (1.2) appliqué, on peut gérer 2, 3, 4, voire autant de double-clics consécutifs qu'on le souhaite...

Cordialement,
 

Pièces jointes

Re : Simuler un triple click

Bonjour Job75, Didier, JM et les autres

Job75. Ton programme fonctionne très bien. J'ai même pu augmenter à 3 le nombre de double clic en rajoutant 3 pour le temps et une ligne avec If a = 3 Then ...

Didier, idem, cela fonctionne très bien et en plus on peut même faire plus de 2 doubleclick en paramètrant le coefficient de temps, cela nous ouvre de nombreux types de déclenchements de macros.

C'est une programmation qui m'aurait pris des heures sans doute sans avoir ce résultat de code simple (surtout pour celui de Job75). En plus j'aime bien le cancel=true.

Merci d'avoir fait avancé la sience des macros. Challenge réussi avec succès.
 
Re : Simuler un triple click

Bonjur à tous

Merci tototiti.
Mais bon les codes de Job et Didier sont bien (de plus je crois que le tien ne fait pas vraiment ce que je veux).

Alors voila en combinant le code de Job75 avec cette macro et son contraire xldescending.
On peut trier un tableau en fonction de la cellule ou on se trouve, ascendant avec un double click et descendant avec 2 doubles clicks.


Code:
Sub Tri_auto_tableau_dblclick_Ascen()
' Macro enregistrée le 18/11/2008 par MJ
'Stop
nlact = ActiveCell.Rows.Row
ncact = ActiveCell.Columns.Column
    Cells(nlact, ncact).Select
    Selection.CurrentRegion.Select
      'Stop
    ActiveWorkbook.Names.Add Name:="Fortri"
Range("Fortri").Select
Selection.Sort Key1:=Cells(nlact, ncact).Value, Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal  
Cells(nlact, ncact).Select           
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
32
Affichages
1 K
Réponses
10
Affichages
273
Réponses
9
Affichages
208
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…