Rapport de message :*
 

Re: Choisir la destination Dble click

Titre du sujet : Re: Choisir la destination Dble click
par myDearFriend! le 07/01/2023 12:40:08

Bonjour tactic6, le Forum,

 

En pièce jointe, une façon de faire (parmi d'autres) :

 

DANS LE MODULE DE CODE DE LA FEUILLE

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    'recherche de la cellule dans la colonne A
    If Target.Column = 1 Then
        Cancel = True
        With UserForm1
            'On passe la valeur directement en propriété Tag du userform
            .Tag = Target.Value
            .Show
        End With
    End If
End Sub

DANS LE MODULE DE CODE DU USERFORM

Option Explicit

Private Sub CommandButton1_Click()
    CopierCodeClient "SAISIE"
End Sub

Private Sub CommandButton2_Click()
    CopierCodeClient "PAGE2"
End Sub

Private Sub CopierCodeClient(shName As String)
    With Sheets(shName)
        'On récupère la valeur en propriété Tag du userform
        .Range("C12").Value = Me.Tag
        .Activate
    End With
    Unload Me
End Sub

Je me sers de la propriété Tag du Userform comme d'une mémoire fourre-tout ! Tu peux l'utiliser pour mémoriser dedans n'importe quelle chaîne de caractères (String). C'est très pratique et ça évite l'usage de variables publiques pour faire passer des valeurs d'un module private à un autre. Moi, j'en fais usage très souvent wink.

 

Bien sûr, tu aurais pu aussi y stocker l'adresse de la cellule source, mais pour le coup, je pense que stocker directement sa valeur était plus simple et efficient.

 

Nb : en passant... les déclarations Dim des variables ça se fait plutôt en début de procédure, et non au milieu.

 

En espérant t'avoir aidé.

Bien cordialement,