Lancer une instruction Worksheet_before doubleclick en cliquant que un commandbutton

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
 

Pierrot93

XLDnaute Barbatruc
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
@+
 

Pasbleau

XLDnaute Nouveau
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 ??
 

Pierrot93

XLDnaute Barbatruc
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 .....
 

Pierrot93

XLDnaute Barbatruc
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
 

Discussions similaires

Statistiques des forums

Discussions
312 466
Messages
2 088 662
Membres
103 910
dernier inscrit
amor57