VBA : Double clique et écran tactile

Bonjour à tous,

J'ai actuellement une macro sur une feuille qui marche très bien à la souris et consiste à changer la couleur d'une cellule quand on double clique dessus :

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim couleurs()
couleurs = Array(RGB(0, 255, 0), RGB(255, 0, 0), RGB(204, 255, 204), RGB(255, 229, 229), RGB(255, 255, 255))
On Error GoTo color
Target.Interior.color = couleurs(Application.WorksheetFunction.Match(Target.Interior.color, couleurs, 0) Mod 5)
Cancel = True
Exit Sub
color:
Target.Interior.color = couleurs(0)
Cancel = True
End Sub

Problème : lorsque j'utilise un écran tactile (de chez Easypitch), lorsque je "double tape" sur une cellule ça ne déclenche pas la macro mais m'invite à écrire dans la cellule (comportement normal en l'absence de macro).

Une idée ?

screen

dhany

Pour vaincre faudrait déjà qu'elle se déclenche

Bonjour Kit,

J'y crois pas trop, alors à tout hasard, essaye avec ce code VBA :

Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  On Error GoTo Color0: Cancel = True
  Dim couleurs()
  couleurs = Array(RGB(0, 255, 0), RGB(255, 0, 0), RGB(204, 255, 204), RGB(255, 229, 229), RGB(255, 255, 255))
  Target.Interior.color = couleurs(Application.WorksheetFunction.Match(Target.Interior.color, couleurs, 0) Mod 5)
  Exit Sub
Color0:
  Target.Interior.color = couleurs(0)
End Sub

Note : j'ai remonté On Error Goto ainsi que le 1er Cancel = True ; j'ai supprimé le 2ème Cancel = True (qui est devenu inutile car le 1er sera toujours exécuté, même si une erreur se déclenche par la suite) ; d'autre part, je déconseille de nommer une étiquette (label de branchement) avec un mot clé réservé du VBA : Color étant un keyword, j'ai nommé l'étiquette Color0 car en cas d'erreur, tu utilises la 1ère couleur du tableau couleurs() d'indice 0.


Autre piste : en dehors d'Excel, au niveau du paramétrage de ton écran tactile, régler la fréquence de déclenchement du double-clic ; sur un PC avec Windows, c'est dans : Panneau de configuration, Souris :

screen

dhany

Plop

Testé.. et ça ne change rien au problème

Finalement on a laissé tomber, quand on maintient le doigt sur la cellule ça permet d’accéder rapidement au changement de couleur.

Merci pour l'essai en tout cas

Tant pis pour le flop ! merci quand même pour ton retour d'infos.

dhany

Rechercher des sujets similaires à "vba double clique ecran tactile"