Lancer une instruction Worksheet_before doubleclick en cliquant que un commandbutton

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 !

Pasbleau

XLDnaute Nouveau
Bonjour le forum !

Une nouvelle fois j'ai besoin de vous.


J'ai dans mon fichier Excel, une instruction Worksheet_beforedoubleclick sur ma première feuille, qui me permet d'ouvrir une userform lorsque je double click sur une plage nommée (ici "tableau"). Voici le code :
Code:
Private Sub Worksheet_beforeDoubleClick(ByVal Target As Range, cancel As Boolean)
If Not Intersect(Target, [tableau]) Is Nothing Then
UserForm1.TextBox1.Value = Cells(Target.Row, 2)
l = Target.Row: UserForm1.Show
End if
cancel = True
End sub

En parralèle, j'ai une autre userform appelé "userform2". Dans cette userform2, un commandbutton qui m'ouvre l'userform1. Seulement, j'aimerai que au lieu d'ouvrir l'userform1 simplement, il simule le doubleclick (code précédent), pour pouvoir charger : UserForm1.TextBox1.Value = Cells(Target.Row, 2).

Bien sur, je ne souhaite pas copier le code "UserForm1.TextBox1.Value = Cells(Target.Row, 2)" dans l'instruction du commandbutton de l'userform2, car il est en réalité très long. Je souhaite "appeler" l'instruction worksheet en quelque sorte depuis mon commandbutton. Je ne sais pas si c'est possible. J'ai essayé le code suivant mais ça ne fonctionne pas :
Code:
Public Sub CommandButton2_Click()
Worksheets("registre de suivi").Range("A3").Activate 
'La case A3 fait bien partit de la plage nommée "tableau"
Application.DoubleClick
End If
End Sub


Voila, j'espere avoir été claire même si mon problème est assez compliqué.


Cordialement
 
Re : Lancer une instruction Worksheet_before doubleclick en cliquant que un commandbu

Bonjour,

essaye ceci :
Code:
Option Explicit
Private Sub CommandButton1_Click()
Feuil1.Worksheet_BeforeDoubleClick ActiveCell, True
End Sub

à noter, il faut passer à la procédure les arguments nécessaires, entre autre "target" et "cancel" ... Retirer le mot "private" de la déclaration de procédure "double click". J'ai utilisé le "codename" de la feuille en question, on peu très bien utiliser "sheets"
Code:
Sheets("Feuil1").Worksheet_BeforeDoubleClick ActiveCell, True

bon après midi
@+
 
Re : Lancer une instruction Worksheet_before doubleclick en cliquant que un commandbu

Merci pour ta réponse rapide Pierrot93. Cependant je n'arrive toujours pas au résultat.

Les deux codes que j'ai adapté suite à ta réponse sont maintenant ceux ci :

Code:
Sub Worksheet_beforeDoubleClick(ByVal Target As Range, cancel As Boolean)
If Not Intersect(Target, [tableau]) Is Nothing Then
UserForm1.TextBox1.Value = Cells(Target.Row, 2)
l = Target.Row: UserForm1.Show
End if
cancel = True
End sub

Et


Code:
Option Explicit
Private Sub CommandButton2_Click()
Sheets("feuil1").Worksheet_beforeDoubleClick ActiveCell, True
Worksheets("feuil1").Range("A3").Activate
Application.DoubleClick
End Sub

Maintenant, lorsque je clique sur commandbutton2 j'ai un message d'erreure : "Erreure d'exécution 400 : Feuille déja affichée ; affichage modal impossible". Et ça me surligne la ligne de code : Sheets("feuil1").Worksheet_beforeDoubleClick ActiveCell, True


Des solutions ??
 
Re : Lancer une instruction Worksheet_before doubleclick en cliquant que un commandbu

Re,

il me semble que ces 2 lignes sont inutiles :

Code:
Worksheets("feuil1").Range("A3").Activate
Application.DoubleClick
rarement utile les sélections en vba...

d'autre part dans ton événement "double click" tu cherches à afficher ton usf, alors que celui-ci l'est déjà puisque c'est à partir de celui-ci que tulances la procédure .....
 
Re : Lancer une instruction Worksheet_before doubleclick en cliquant que un commandbu

Re,

sinon, ceci fonctionne chez moi :

dans le module de feuille :
Code:
Option Explicit
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
MsgBox "ok"
UserForm1.Show
End Sub

dans le module de l'usf :
Code:
Option Explicit
Private Sub CommandButton1_Click()
Me.Hide
Sheets("Feuil1").Worksheet_BeforeDoubleClick ActiveCell, True
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
3
Affichages
508
Réponses
6
Affichages
416
Retour