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

Résolu Simuler un double clic

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 !

jhlamoustache

XLDnaute Occasionnel
Bonjour,

Je crée un classeur (A) avec des procédures pour automatiser la saisie sur d'autres classeurs (B).
Dans les classeurs B, le seul mode de saisie dans certaines cellules est le double-clic, (qui renvoie "Now" si la cellule est initialement vide; et "" si la cellule contient une date). Bien entendu, ces procédures des classeurs B sont assorties de multiples contrôles et actions. Et le code des classeurs B est protégé.
Je peux donc pas y accéder, encore moins le modifier.


Lorsque, avec les macros du classeur A, je change de cellule sur le classeur B,
Private Sub Worksheet_SelectionChange(ByVal Target As Range) du classeur B s'exécute
Lorsque je change la valeur de cette cellule,
Private Sub Worksheet_Change(ByVal Target As Range) du classeur B s'exécute.
Mais cela donne des résultats non conformes.
Il faudrait que Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) de classeur B s'exécute.

J'ai tenté de mettre Application.doubleclick, mais rien ne se passe.

De ce que j'ai lu sur les forums, les demandes portant le même titre n'étaient pas similaires à ce que je demande. (Elles ne consistaient pas vraiment à simuler un doubleclic sur une feuille qui exécute du code).
Ou je n'ai pas tout compris.



J'ai préparé deux classeurs. Afficher le B et faire des doubles clics dans la colonne D. En D2 ou D3, les dates s'affichent ou se suppriment. Puis lancer les procédures Ajout_Date ou Supp_Date. On voit que les conditions d'ajout de dates ne sont pas respectées car l'ajout de dates se produit en D4 à
D10. C'est pourquoi j'ai besoin de simuler ce doubleclick.

Pouvez-vous m'aider ?
 

Pièces jointes

Bonjour,

Merci beaucoup jhlamoustache pour la dithyrambe et pour m'avoir avoir appris "Dumbledore" (j'ai été obligé de chercher la signification).
Le R.Select ne s'impose pas, vous pouvez essayer sans l'utiliser comme suit :
VB:
'### Votre traitement (à parfaire par vos soins) ###
For i& = 2 To S.[a1].CurrentRegion.Rows.Count
  Set R = S.Range("D" & i& & "")
'  R.Select '//// on peut virer cette instruction qui ne servait qu'à visualiser
  '--- Appelle la procédure privée double clic avec les paramètres (ByVal Target As Range, Cancel As Boolean) qui vont bien ---
  Application.Run Chemin$, R, False
Next i&
'###################################################
En principe cela fait la même chose.
 
Re,

lol : je vous souhaite bien évidemment un sort moins funeste qu'à Dumbledore.

J'ai écrit dans mes boucles des différentes procédures :
Cells(N + L - 1, C).Select
Call ZDBclick
ce qui me permet dans ZDBclick d'affecter Activecell à la variable R (Set R = ActiveCell).

Pour m'épargner Select, j'ai déclaré Public R as Range,
et j'ai remplacé Cells(N + L - 1, C).Select par Set R = Cells(N + L - 1, C) dans les boucles.

Merci
 
- 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
21
Affichages
175
Réponses
32
Affichages
1 K
Réponses
3
Affichages
62
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…